person.properties
person.name=admin
person.address=shanghai
person.email=123@qq.com
person.user-card=321321
person.map.k1=v1
person.map.k2=v2
@PropertySource
将指定加载自定义的yml,properties配置文件
@Component
@PropertySource(value = {"classpath:person.properties"})
@ConfigurationProperties(prefix = "person")
@Validated
public class Person {
private String name;
private String address;
@Email
private String email;
private String userCard;
private Map<String, Object> map;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUserCard() {
return userCard;
}
public void setUserCard(String userCard) {
this.userCard = userCard;
}
public Map<String, Object> getMap() {
return map;
}
public void setMap(Map<String, Object> map) {
this.map = map;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", address='" + address + '\'' +
", email='" + email + '\'' +
", userCard='" + userCard + '\'' +
", map=" + map +
'}';
}
}
@ImportResource
在配置文件下定义一个spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="personXml" class="com.gnq.springboot.bean.Person"></bean>
</beans>
@SpringBootApplication
@EnableConfigurationProperties
@ImportResource({"classpath:spring.xml"})
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@Autowired
private ApplicationContext applicationContext;
@Test
public void testImportResource(){
boolean hasPerson = applicationContext.containsBean("personXml");
System.out.println(hasPerson);
}
输出
true
总结:
@ImportResource用来加载spring的xml配置
@PropertySource用来加载自定义的yml和properties配置