原始做法:读取到文件内容,再进行bean的绑定
public static void readProperties(String propertiesPath) throws IOException {
Properties pps = new Properties();
pps.load(MainApplication.class.getClassLoader().getResourceAsStream("application.properties"));
Enumeration enum1 = pps.propertyNames();//得到配置文件的名字
while(enum1.hasMoreElements()) {
String strKey = (String) enum1.nextElement();
String strValue = pps.getProperty(strKey);
System.out.println(strKey + "=" + strValue);
//封装到JavaBean。
}
}
2种方式
1. @ConfigurationProperties + @Component
@Component //很多属性配置类都不会加这个注解所,所以会用到2
@ConfigurationProperties(prefix = "mycar")
public class MyCarProperty {
private String color;
private String brand;
2. @EnableConfigurationProperties + @ConfigurationProperties
@EnableConfigurationProperties(Car.class)
//1、开启Car配置绑定功能
//2、把这个Car这个组件自动注册到容器中
public class MyConfig {
}
@RestController
public class Controller{
@Autowired
MyCarProperty myCarProperty;
@RequestMapping("/car")
public MyCarProperty carRequest(){
return myCarProperty;
}
}