Bean注册主要有三种方法
1.@ComponentScan
- @Configuration:配置类
- @Controller :web控制器
- @Repository :数据仓库
- @Service:业务逻辑
以上四种都可以作为bean注册的方式
Spring的注解形式:@Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean
a,@Component
1,默认不指定bean的名称,且类名首字母小写,比如你写的类名是Test,bean名为test
2,指定bean名称,可以@Component
(
"test1"
)
作用域:可以作用在任何层次
b,@Configuration
-
@Configuration不可以是final类型;
- @Configuration不可以是匿名类;
- 嵌套的configuration必须是静态类
c,@Controller
主要作用域在控制层,用法和@component一样,一般会和@RequestMapping一起使用,在定义url的映射
d,@Repository
需要在Spring中配置扫描包地址,然后生成dao层的bean,之后被注入到ServiceImpl中
作用域:主要是数据层
e,@Service
主要作用在业务层,用法和@component一样
2.@Bean
注解@Bean被声明在方法上,方法都需要有一个返回类型,而这个类型就是注册到IOC容器的类型,接口和类都是可以的,介于面向接口原则,提倡返回类型为接口
3.@Import
用来批量注入bean:在导入外部包的时候,有大量的bean需要创建,@Bean一个一个添加是很麻烦的,这个时候就可以使用@Import注解,批量导入