Spring的组件扫描
一、使用组件扫描
在Spring入门代码案例中使用的是@Bean来进行注入的,但是这种注入需要编写代码,如果需要实例化后为属性赋值或则类似操作,那么使用@Bean注入就比较麻烦
这个时候我们这是用其他注解来注入对象
Spring提供了多种注解,来注入对象(格式相同,注解有多种的原因不是因为功能不同,区别是为了根据当前类的角色不同,来使用不同的注解,根据注解的翻译而定)
1.@Component:使用在类上
标记位置:类的上一行,Spring内部就可以自动注入
注入对象的id名是类名首字母小写的状态
例如:PersonName 对应id personName
但是请注意:如果类名是连续两个以上的大写字母,那么id就是类名
例如:GTXname 对应id GTXname
2.@Controller:使用在web层类上
3.@Service:使用在service层类上
4.@Repository:使用在dao层类上
5.等等,会后续更新
二、组件扫描注入的过程注意事项
1.在要注入的类上加注解@Component
2.注意类名生成的ID(个人建议把生成的ID以注释的方式标记上,方便后续查看)
3.别忘了在Config类上编写@ComponentScan扫描目标包
三、自定义组件的id
1.使用@bean注入时可以使用下面的方法自定义注入Spring容器的id
格式:@Bean(" ")
2.使用@Component以及其他可以组件注入的注解时
使用下面方法自定义注入Spring容器的id
格式:@Component("db")
四、代码样例
1.将之前编写Spring入门案例的信息对象id自定义为输出
2.组件扫描:
定义一个Axe(斧子类)
其中有固定的属性值为:private String name="斧子";
以及toString方法
使用组件扫描相关知识注入这个对象、
并在测试类中获得并输出
可以自定义id:例如:fuzi

浙公网安备 33010602011771号