Spring Boot中属性注入的几种方式
使用@Value("${}")方式
这种方式是最基本的属性注入方式,早在学习spring的时候,就会大量用到这种属性注入方式,就是利用@Component+@Value注解的形式来进行属性注入。
配置文件
application.properties
book.id=99
book.name=Java
book.author=JustinNeil
实体类注入
@Component
public class Book {
@Value("${book.id}")
private Integer id;
@Value("${book.name}")
private String name;
@Value("${book.author}")
private String author;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", author='" + author + '\'' +
'}';
}
}
测试
使用@ConfigurationProperties(prefix="")注入
配置文件
book.properties
book.id=100
book.name=Python
book.author=JustinNeil
实体类注入
@Component
@PropertySource("classpath:book.properties")
@ConfigurationProperties(prefix = "book")
public class Book {
// @Value("${book.id}")
private Integer id;
// @Value("${book.name}")
private String name;
// @Value("${book.author}")
private String author;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", author='" + author + '\'' +
'}';
}
}