1 properties文件配置
car.brand=BYD
car.price=100000
2 读取properties文件中的属性值
2.1 @ConfigurationProperties
@ConfigurationProperties可以读取所有前缀为car的属性,并将properties属性值装配给跟相同属性名的Car实例成员。
package com.entity;
@Component
@ConfigurationProperties(prefix = "car")
public class Car {
private String brand;
private String price;
public Car() {
}
public Car(String brand, String price) {
this.brand = brand;
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
}
2.2 @Value
@Value可以单个属性的值装配给Car实例成员,装配时不要求属性名和实例成员名相同。
package com.entity;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class Car {
@Value("${car.brand}")
private String brand;
@Value("${car.price}")
private String price;
public Car() {
}
public Car(String brand, String price) {
this.brand = brand;
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
}
3 Controller
package com.controller;
import com.entity.Car;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PageController {
@Autowired
private Car car;
@RequestMapping("/car")
public Car car(){
return car;
}
}
4 页面调试
注:使用 @ConfigurationProperties注解之前要先加入@Component注解。