spring boot 1.2.5 @Configuration @Autowired annotation null?



PrimaryDatasourceProperties.java得到application.properties的内容,是对的。

DatasourceConfig.java里面的方法@Bean ... primaryDataSource ()没有primaryDatasourceProperties, primaryDatasourcePropertiesnull,这是由@Autowired注入的,它总是一个问题

我可以问是什么原因吗?


顺便说一句:

DemoApplication.java尝试加入EnableAutoConfigurationPrimaryDatasourceProperties.java try @Component

结果是一样的

代码如下:

资源/application.properties

datasource.primary.driver-class-name=com.mysql.jdbc.Driver
datasource.primary.url=jdbc:mysql://localhost:3306/demo?characterEncoding=utf8
datasource.primary.username=root
datasource.primary.password=

com.demo.config.PrimaryDatasourceProperties.java

@ConfigurationProperties(prefix="datasource.primary")
public class PrimaryDatasourceProperties {
    private String driverClassName;
    private String url;
    private String username;
    private String password;
    public String getDriverClassName() {
        return driverClassName;
    }
    public void setDriverClassName(String driverClassName) {
        this.driverClassName = driverClassName;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

com.demo.config.DatasourceConfig.java

@Configuration
public class DatasourceConfig {
    @Autowired
    private PrimaryDatasourceProperties primaryDatasourceProperties;
    @Bean
    @Primary
    public DataSource primaryDataSource() {
      // primaryDatasourceProperties is null ?
    }
}

com.demo.DemoApplication.java

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(DemoApplication.class, args);
    }
}

必须将注释@EnableConfigurationProperties添加到DemoApplication或配置类中。

最新更新