获取bean
- 默认情况下,在Spring项目启动时 ,会把bean都创建好(但是还会受到作用域及延迟初始化的影响)放在IOC容器中,如果想主动获取这些bean,可以通过如下方式
-
根据name获取bean
*Object getBean(String name)
-
根据类型获取bean
*<T> T getBean(Class<T> requiredType)
-
根据name以及类型获取bean
*<T> T getBean(String name,Class<T> requiredType)
-
具体实现代码及运行结果如下
具体代码
java
@Autowired
ApplicationContext applicationContext; // 自动注入IOC容器对象
@Test
public void GetBean() {
// 根据bean的名称获取
DeptController bean1 = (DeptController) applicationContext.getBean("deptController");
System.out.println(bean1);
// 根据bean的类型获取
DeptController bean2 = applicationContext.getBean(DeptController.class);
System.out.println(bean2);
// 根据bean的名称以及类型获取
DeptController bean3 = applicationContext.getBean("deptController", DeptController.class);
System.out.println(bean3);
}
运行结果
在SpringBoot项目中设置bean对象
在Spring Boot中,可以使用注解来定义和配置Bean。常用的注解包括:
- @Component:用于标识一个普通的Bean类。
- @Service:用于标识一个服务类,通常用于业务逻辑的处理。
- @Repository:用于标识一个数据访问类,通常用于数据库操作。
- @Controller:用于标识一个控制器类,通常用于处理HTTP请求。
除了以上常用的注解外,还有一些特殊用途的注解,如:
- @Configuration:用于标识一个配置类,通常用于配置Bean的创建和依赖关系。
- @Autowired:用于自动注入依赖的Bean。
- @Value:用于注入配置属性的值。
通过使用这些注解,可以将普通的Java类转化为Spring Bean,使其由Spring容器进行管理。Spring容器会负责创建、初始化和销毁这些Bean,并处理它们之间的依赖关系。在应用程序中,可以通过注入Bean来使用其提供的功能和服务。