SpringBoot - 绑定配置文件注解

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了SpringBoot - 绑定配置文件注解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

@ImportResource

@ImportResource注解用于导入SPRing的配置文件,让配置文件里面的内容生效;(就是以前写的springmvc.XMl、applicationContext.xML)Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上。注意!这个注解是放在主入口函数的类上或配置类上

@ImportResource(locations = "classpath:beans.xml")

@configurationProPErties

Spring码中大量使用了ConfigurationProperties注解,比如server.port就是由该注解获取到的,通过与其他注解配合使用,能够实现Bean的按需配置。

该注解有一个prefix属性,通过指定的前缀,绑定配置文件中的配置,该注解可以放在类上,也可以放在方法上

SpringBoot - 绑定配置文件注解

 

 

 可以从注解说明中看到,当将该注解作用于方法上时,如果想要有效的绑定配置,那么该方法需要有@Bean注解且所属Class需要有@Configuration注解。

总结:就是该类必须要被加载到容器中

作用于方法

配置文件内容

#数据源
spring.datasource.druid.wrITe.url=jdbc:MySQL://localhost:3306/jpa
spring.datasource.druid.write.username=root
spring.datasource.druid.write.password=1
spring.datasource.druid.write.driver-class-name=com.mySQL.jdbc.Driver

java代码

@Configuration
public class DruidDataSourceConfig {
    /**
     * DataSource 配置
     *
     * @return
     */
    @ConfigurationProperties(prefix = "spring.datasource.druid.read")
    @Bean(name = "readDruidDataSource")
    public DataSource readDruidDataSource() {
        return new DruidDataSource();
    }
}

作用于Class类

配置文件内容

spring.datasource.url=jdbc:mysql://xxx/xxx
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

java代码

@ConfigurationProperties(prefix = "spring.datasource")
@component
public class DatasourcePro {

    private String url;

    private String username;

    private String password;

    // 配置文件中是driver-class-name, 转驼峰命名便可以绑定成
    private String driverclassname;

    private String type;
}

@ConfigurationProperties 和 @value 有着相同的功能,但是 @ConfigurationProperties的写法更为方便

@ConfigurationProperties 的 POJO类的命名比较严格,因为它必须和prefix的后缀名要一致, 不然值会绑定不上, 特殊的后缀名是“driver-class-name”这种带横杠的情况,在POJO里面的命名规则是 下划线转驼峰 就可以绑定成功,所以就是 “driverClassName”

@EnableConfigurationProperties

@EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效并注入到容器中。

如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。
说白了 @EnableConfigurationProperties 相当于把使用 @ConfigurationProperties 的类进行了一次注入。
@ConfigurationProperties(prefix = "service.config")
public class HelloServiceProperties {

}
@Configuration
@EnableConfigurationProperties(HelloServiceProperties.class)
public class HelloServiceAutoConfiguration {

}

 

脚本宝典总结

以上是脚本宝典为你收集整理的SpringBoot - 绑定配置文件注解全部内容,希望文章能够帮你解决SpringBoot - 绑定配置文件注解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。