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里去!
否则就会这样
而正确的应该是这样:
看到区别了没?出现了属性值覆盖的问题了。。。
纸上得来终觉浅····················