@PropertySource:加载指定的配置文件;
/*
* 将配置文件中配置的每一个属性值,映射到这个组件中
* @ConfigutationProperties: 使springboot将本类中的属性和配置文件中的相关的配置进行绑定
* prefix = "person" : 配置文件中哪个下面的所有属性进行一一映射。
*
* 只有这个组件是容器中的组件,才能使容器提供 @ConfigurationProperties功能
*
* */
@PropertySource(value="classpath:person.properties")
@ConfigurationProperties(prefix = "person")
@Component
public class Person {
private String lastName;
private Integer age;
private boolean boss;
private Date birthday;
private Map<String,Object> map;
private List<Object> list;
private Dog dog;
...
}
@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效;
Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;想让Spring的配置文件生效加载进来,需要将@ImportResource标注在一个配置类上。
bean.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="helloService" class="com.springboot.conf.service.HelloService"></bean>
</beans>
将@ImportResource标注在一个配置类上
@ImportResource(locations = {"classpath:bean.xml"})
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式
1、配置类@Configuration------>Spring配置文件
2、使用@Bean给容器中添加组件
/* @Configuration: 指明当前类是一个配置类,用来代替类型bean.xml的Spring配置文件*/
/* @Bean: 将方法的返回值添加到容器中,容器中这个组件的默认的 id 就是方法名*/
@Configuration
public class MyAppConfig {
@Bean
public HelloService helloService2(){
return new HelloService();
}
}