常规属性配置
- application.properties定义属性,直接使用@Value注入即可
book.author=zhangyongjun book.name=spring boot
@RestController public class Index { @Value(value = "${book.author}") private String bookAuthor; @Value(value = "${book.name}") private String bookName; @RequestMapping(value = "/") public String index() { return "book name is:" + bookName + " and book author is:" + bookAuthor; } }
类型安全的配置
常规属性配置虽然使用@Value就可以实现注入配置属性,但是如果需要注入的属性地方很多,那么到处的@Value就显得格外麻烦。虽然我们可以使用一个Bean将所有配置文件属性注入,然后在使用的时候通过Bean.get属性就可以获取,但是还是要给每个属性@Value注解。
1.application.properties定义属性
#作者属性 author.name=zyj author.age=18
- 创建一个配置类,并且属性和配置文件的一致
@Component//让Spring-boot扫描这个Bean @ConfigurationProperties(prefix = "author")//prefix属性的前缀 public class AuthorSettings { private String name; private long age; public String getName() { return name; } public void setName(String name) { this.name = name; } public long getAge() { return age; } public void setAge(long age) { this.age = age; } }
@RestController public class Author { @Autowired private AuthorSettings author; @RequestMapping(value = "/author") public String index() { return "author name is:" + author.getName() + " and author age is:" + author.getAge(); } }
关注微信公众号(程序员小兔)不定期分享技术