springboot配置文件注解,springboot根据环境的不同配置注解

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: