3.导入Spring配置
1.@ImportResource
//将 beans.xml 加载到项目中
@ImportResource(locations = {"classpath:/beans.xml"})
@SpringBootApplication
public class HelloworldApplication {}
2.@Configuration
/**
* @Configuration 注解用于定义一个配置类,相当于 Spring 的配置文件
* 配置类中包含一个或多个被 @Bean 注解的方法,该方法相当于 Spring 配置文件中的 <bean> 标签定义的组件。
*/
@Configuration
public class MyAppConfig {
/**
* 与 <bean id="personService" class="PersonServiceImpl"></bean> 等价
* 该方法返回值以组件的形式添加到容器中
* 方法名是组件 id(相当于 <bean> 标签的属性 id)
*/
@Bean
public PersonService personService() {
System.out.println("在容器中添加了一个组件:peronService");
return new PersonServiceImpl();
}
}
proxyBeanMethods:代理bean的方法
有两种模式:
1.Full:(proxyBeanMethods = true) //全模式
使用代理模式,保证组件的单实例,启动不如false快,但是重复利用率高,适用于会重复使用组件的场景。
2.lite:(proxyBeanMethods = false) //轻量级
不是用代理模式,不用保证组件的单实例,启动最快。单每次调用组件都会重新创建一个新的组件,组件可重复使用率低。适用于需要组件但不会重复使用的场景
总结:用于解决组件依赖