这里写出两种从properties文件中获得属性值得两种方式
你可以自己创建一个properties,当然也可以使用默认的application.properties。
book.properties内容如下
book.name=ll
book.price=30
1.使用@Value
@Component
//如果是使用自己定义的properties需要下面的注解注明位置,如果写在application.properties中则不需要
@PropertySource("classpath:book.properties")
public class Book {
@Value("${book.name}")
private String name;
@Value("${book.price}")
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
2.使用@ConfigurationProperties(prefix = “book”)
@Component
//如果是使用自己定义的properties需要下面的注解注明位置
@PropertySource("classpath:book.properties")
@ConfigurationProperties(prefix = "book")
public class Book {
private String name;
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
测试类如下
@SpringBootTest
class BootestApplicationTests {
@Autowired
private Book book;
@Test
void contextLoads() {
System.out.println(book.getName()+" "+book.getPrice());
}
}
结果如下