1.@PropertySource&@ImportResource&@Bean
- @PropertySource:加载指定的配置文件,只能用于properties文件,不支持yml文件;
以person为例子:
 @ConfigurationProperties:告诉springboot将本类中所有属性和配制文件相关的配制进行绑定,而且默认从全局配制文件中获取
 如果所有的配制都放在一个配制文件中,太多了,也不方便我们操作,可以把与springboot无关的配制,提取出来放在另一个配制文件中
 创建person.properties 
 
增加PropertySource注解
 
- @ImportResource:
导入Spring的配置文件,让配置文件里面的内容生效;
 Spring Boot里面没有
 Spring的配置文件,我们自己编写的配置文件,也不能自动识别;想让Spring的配置文件生效,用@ImportResource标注在一个配置类上
创建spring的beans.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">
    <!--IOC管理bean-->
    <bean id="helloService" class="com.qcby.service.HelloService" />
        </beans>


 
 
 所以不会自动导入
 加入注解
package com.qcby;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
@ImportResource(locations = {"classpath:beans.xml"})
@SpringBootApplication
public class Springboot01Application {
	public static void main(String[] args) {
        //spring应用启动起来
		SpringApplication.run(Springboot01Application.class, args);
	}
}
然后测试:
 
 在后期项目我们不用上面方式,springboot推荐给容器中添加组件的方式:推荐使用全注解的方式
 1.配制类========配制文件
- 1、配置类@Configuration------>Spring配置文件
- 2、使用@Bean给容器中添加组件
 创建一个包放入配置类,把之前那个注解注释掉
  
package com.qcby.config;
import com.qcby.service.HelloService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration//指明当前类是一个配制类,就是来代替之前的spring配制文件
/**
 * 在配置文件中用<bean></bean>标签添加组件
 */
public class MyConfig {
    @Bean
    //将方法的返回值添加到容器里,容器中这个组件默认的id 就是方法名
    public HelloService helloService(){
        System.out.println("配制类@Bean给容器添加组件");
        return  new HelloService();
    }
}
运行成功后:
 



















