springboot配置文件注解,springboot根据环境的不同配置注解
目录
SpringBoot2底注@ConfigurationProperties配置绑定配置绑定验证另一种方式
00-1010我们通常把经常变化的东西放到配置文件里。
比如之前写在配置文件application.properties中的端口号server.port=8080,以及其他常见的数据库连接信息等等。
然后,我的数据库连接信息被放在配置文件中。如果我想使用它,我必须解析配置文件,解析的内容将在bean中使用。
整个场景实际上是将配置文件中的所有配置绑定到java bean。
要完成这个场景,基于java写原生代码还是有点麻烦。通常,进行封装是为了读取属性文件的内容并将其封装到JavaBean中:
公共类get Properties { public static void main(String[]args)抛出FileNotFoundException,io exception { Properties PPS=new Properties();PPS . load(new file inputstream( a . properties ));枚举enum 1=PPS . property names();//获取配置文件的名称while(enum 1 . hasmoreelements()){ string strkey=(string)enum 1 . nextelement();string strValue=PPS . getproperty(strKey);system . out . println(strKey = strValue);//封装到JavaBean.....................
这个过程在springboot中得到简化,也就是配置绑定。
00-1010使用注释@ConfigurationProperties完成配置绑定。注意需要和@Component一起使用。
创建一个新的组件汽车,它有两个属性:品牌和价格:
@Componentpublic class Car {私串品牌;私人整数价格;//get set tostring不会在配置文件application.properties中设置一些属性值,例如:
Mycar.brand=QQmycar.price=9999使用@ConfigurationProperties批注添加到组件:
Mycar.brand=QQmycar.price=9999传入的前缀是配置文件中的前缀。这是我的车。
00-1010现在我们来测试一下绑定是否成功,继续给前面的HelloController添加一个控制器方法3360。
@ RestControllerpublic class hello controller { @ auto wired Car Car;@RequestMapping(/car )公车car() {还车;} @ requestmapping (/hello )公共字符串hello(){ return hello spring boot 2 hello ;}}部署应用,浏览器会访问http://localhost 33608080/car3360
绑定成功。
00-1010除了以上方法,还可以使用@ enableConfigurationProperties @ configuration properties来完成绑定。
请注意,@EnableConfigurationProperties注释将在配置类上使用,以指示打开属性配置的功能:
//@ ConditionalOnBean(name= pet 1 )@ Import({ user . class,db helper . class })@ configuration(proxybean methods=true)@ Import resource( class path : beans . XML )//配置文件的类路径@ enableConfigurationProperties(car . class)//打开属性配置的功能,公共类myconfig {@ bean (user1 )公共用户user 01(){用户苹果=新用户(苹果,20);Pingguo . setpet(Tomcat pet());还平果;} @Bean(pet22 )公共宠物tomcatPet(){返回新宠物( Tomcat );} } @ enableConfigurationProperties(Car . class)传入到要配置的类中,该类可以自动将汽车注册到容器中,这意味着前面汽车上的@组件是不必要的。
//@ Component @ configuration properties(前缀= mycar )public class Car { private String brand;私人整数价格;重新部署,访问地址,还是可以的。
关于第二种使用场景,比如这里的Car是第三方包中的类,但是别人的源代码没有用@Component注释。这个时候可以这样绑定。
最后,记住在使用@ configuration properties(prefix= mycar )的配置绑定时,是与springboot的核心配置文件application.properties文件的内容建立的绑定关系。
以上是SpringBoot2底部注释@ConfigurationProperties的配置绑定细节。更多SpringBoot2注释的配置绑定信息,请关注风行IT的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。