一、IOC容器
IOC容器,意为控制反转。它是将程序中创建对象的控制权交给spring框架来管理,以便降低代码之间的耦合度。
控制反转的实质是获得依赖对象的过程被反转了,这个过程由自身管理变为由IOC容器主动注入(依赖注入),要使用某个对象,只需要从IOC容器中获取,而不需要关心对象的创建过程
二、IOC容器的实现方法
- 依赖注入:ioc容器通过类型或名称将不同的对象注入不同的属性中。
- 设值注入
- 接口注入
- 构造注入
- 基于注解:例如@Autowired
- 依赖查找
实例:用ioc管理bean
1、创建一个bean
@Data
public class User implements Serializable {
private int id;
private String name;
}
2、编写user的配置类
@Configuration
public class UserConfig {
//将此返回的值生成一个bean
@Bean("user1")
public User user() {
User user = new User();
user.setId(1);
user.setName("longzhiran");
return user;
}
}
3、编写测试类,通过上下文获取bean
@RunWith(SpringRunner.class)
@SpringBootTest
public class IocTest {
@Autowired
private ApplicationContext applicationContext;
@Test
public void testIoc() {
//获取sprong容器中已经初始化的bean
User user = (User) applicationContext.getBean("user1");
System.out.println(user);
}
}