摘要
向Spring容器注册Bean有多种方式,本文介绍下面的几种。
- @ComponentScan
- @Bean
- @Import
通过@ComponentScan注册Bean
Spring容器会扫描@ComponentScan配置的包路径,找到标记@Component注解的类加入到Spring容器。
效果等同于XML配置文件中的<context:component-scan base-package="包名">
常用属性名 | 类型 | 说明 |
---|---|---|
includeFilters | Filter[] | 指定扫描导入类型的过滤规则 |
excludeFilters | Filter[] | 指定扫描排除类型的过滤规则 |
java8之后一个类可以标记多个@ComponentScan扫描规则
@Component说明
常见继承:
- @Configuration:标记类为配置类,常与@ComponentScan或@Bean注解一起使用
- @Controller
- @Repository
- @Service
通过@Bean注册Bean
标记在方法上,将方法返回值注册到Spring容器,类型为返回值类型,id默认为方法名。
效果等同于XML配置文件中的<bean id="beanName" class="className"/>
通过@Import注册Bean
- 直接注册指定类
// 启动类
@Import({ ImportTest.class })
public class RegistryBean