@Value属性配置 以及 spring boot1.5以上版本@ConfigurationProperties取消location注解后的替代方案


Spring Boot 入门属性配置。

@Value的配置

在这里我是先在application.properties里写的值(此处后面就出现坑)

           

       

中文设置:

           

新建个book实体类  (省略set...get..)

             在Spring Boot里注入properties里的值很简单,只需要通过@Value即可

            

     接着是在controller里写方法

             通过spring里的@Autowired自动注入

 

           

 

 在网页上访问:

           

 

 

--------------------------------------------------------------------------  此处分界    -------------------------------------------------------------------------------------------------

在实际项目中要注入的变量的值太多了,这时候需要用基于安全类型的配置方式,即将properties属性和bean关联在一起,这样用起来会方便。

新建个book.properties,在里面配置

       

 

新建个BookBean实体类,这里本来是打算用@ConfigurationPropeties注解里的prefix 和location 来设置的,然后发现SpringBoot 1.5版本的@ConfigurationPropeties已经取消了location,无奈换了 一种写法。

       @ PropertySouce   指定绑定哪个资源文件,【如果要绑定自定义的资源文件中的值的话,是可以用上的】 ,注意:它会默认自动绑定application.properties!!!!

                                     此处我就犯了个错,我在做@value时,在application.properties里写了 book的配置。这导致了多次绑定,出现覆盖的问题。

     @ConfigurationProperties指定绑定资源文件中前缀以book开头的属性名,其他的不会绑定进来。

    

 

 在启动类中写上@EnableConfigurationProperties(BookBean.class)   激活绑定的bean

         

 

最后就是写控制类,写法都一样,不赘述。

 

最后的最后就是一定要记得不是通用的属性配置不要写在application.properties里去!

否则就会这样

 

而正确的应该是这样:

 

看到区别了没?出现了属性值覆盖的问题了。。。

 

 

                                                                                                                             纸上得来终觉浅····················

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM