zoukankan      html  css  js  c++  java
  • Autowire注入顺序

    Autowire注入顺序问题

    ​ 这是这几天使用spring security配置RememberMe功能中遇见的错误。以下是错误代码

    	@Autowired
        private PersistentTokenRepository pt;
    
        @Autowired
        private DataSource ds;
    
        @Bean
        public PersistentTokenRepository getPersitent(){
            JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
            jdbcTokenRepository.setDataSource(ds);
            return jdbcTokenRepository;
        }
    

    ​ 如上配置产生以下错误

    Caused by: java.lang.IllegalArgumentException: Property 'dataSource' is required
    
    

    ​ 然后通过在getPersitent方法中答应DataSource为null。原因是先注入pt,先执行getPersitent方法,但是DataSouce对象还没有创建,我们知道@Autowire默认是require=true,于是产生如上错误。我们只用调整顺序,保证被依赖的对象先注入,即可解决问题。

  • 相关阅读:
    MvvmTest
    win8 app 相关的几个网站
    autp
    分析WPF代码工具
    mdsn
    线程和委托
    C#guanli
    学习Boost小结(一)
    Boost.test库的配置
    自己真是太没正事了.
  • 原文地址:https://www.cnblogs.com/theStone/p/14470762.html
Copyright © 2011-2022 走看看