无法设置自动装配参数的值

时间:2016-07-04 16:38:37

标签: spring

我有datasource与setter一起自动装配。尝试在Spring javaconfig文件中使用Bean声明返回datasource值。出于某种原因,它没有识别并显示错误:

  

属性'dataSource'必需

有什么想法吗?这是我在javaconfig文件中的Bean:

@Bean(name = "dataSource")
public DataSource dataSource() {        
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
        dataSource.setUrl("xyz");
        dataSource.setUsername("xyz");
        dataSource.setPassword("xyz");
        return dataSource;
}

和日志跟踪:

Error creating bean with name 'featureStoreSpringJDBC' defined 
in URL [jar:file:/C:home/WEB-INF/lib/ff4j-store-springjdbc.jar!
/org/ff4j/store/FeatureStoreSpringJDBC.class]: 
Initialization of bean  failed; nested exception 
is org.springframework.beans.factory.BeanInitializationException 
Property 'dataSource' is required for bean 'featureStoreSpringJDBC'

1 个答案:

答案 0 :(得分:0)

请注意,属性dataSource未使用@Autowired注释进行注释,因此您必须明确调用setter并在javaconfig中初始化FeatureStore。

原因是你应该将整个FF4J定义为java config中的bean。在1.3之前的版本中它是自动装配但是我们遇到了javaConfig传播的问题。