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

 

posted @ 2020-12-01 22:17  print("hello~world")  阅读(296)  评论(0)    收藏  举报