SpringBoot使用IOC容器管理:SpringBoot管理对象,把对象注册(放入)到 IOC容器中。
步骤,创建springboot的配置类,使用的注解为@Configuration,在配置类中放 要注册的对象。
要了解如何使用SpringBoot的容器管理对象,先来了解下面几点:
@Configuration 注解:配置类上方添加该注解是告诉SpringBoot这是一个配置类,注解可以带参数可以不带参数。
@Configuration == @Configuration(proxyBeanMethods = true)
@Configuration(proxyBeanMethods = false)
proxyBeanMethods:代理bean的方法。 true代表 调用方法的是代理对象,配置类是代理类,配置类里的组件都要放入IOC容器中。false则反之。
Full模式:(proxyBeanMethods = true):【保证每个@Bean方法被调用多少次返回的组件都是单实例的】
就是说:ioc容器中配置类里的组件,一个组件对应只有一个实例,单实例。
Lite模式:(proxyBeanMethods = false)【每个@Bean方法被调用多少次返回的组件都是新创建的】
就是说:外部对配置类中的这些组件注册方法调用多少次就是获取多少个实例对象
一般是这么做,配置类里的组件们有互相依赖的话 👉 @Configuration
没有互相依赖的话 👉 @Configuration(proxyBeanMethods = false) (以下User类中有例子)
创建springboot的配置类
@Configuration //告诉SpringBoot这是一个配置类
public class MyConfig {
//@Configuration标注的类 ,如这里是MyConfig,那么它也是IOC容器中的组件。
@Bean //给容器中添加组件。以方法名作为组件的id(就是在IOC容器中的类名)。返回类型就是组件类型。返回的值,就是组件在容器中的实例。
public User user01(