spring中的一些常用注解

1、service等注解

    注解的作用主要是替代xml文件的。但不同的是,仅仅添加注解是不够的。还需要添加一个扫描类,这个类的作用是告诉spring需要扫描哪个包以及包下的类。对于起到不同作用的类,我们在其上添加的注解类型不同。

    需要添加的类如下:


@Controller、@Service、@Repository 这3个注解,是spring为了 明确 三层架构 所提出的:

@Controller:在 控制层 的类中使用。用在web项目中,相当于增强版的servlet,接收请求,返回响应

@Service:在 service层 的类中使用

@Repository:在 dao层 的类中使用

@Component:上面 3 个注解都继承 @Component 注解

有些时候这 4 个注解可以混用,大部分时候@Component、@Service、@Repository 可以混用注意: 混用时,虽然从程序运行上看,不报错;但从分层架构上看,不合理

2、Autowired与Qualifier注解

     其实两个注解联合起来的主要作用是替代bean标签中的property标签。即当成员变量为一个对象时,为了将这个属性成功赋值给对象,我们需要在属性上添加Autowired标签,Autowired标签的赋值方法是在对象中优先寻找类型匹配的进行赋值,当只有一个实例化对象匹配时仅用Autowired就会进行赋值。但当有两个类型匹配时,就会报错。实例演示如下:



这时就需要Qualifier注解来指定名称,例如:


3、Resource注解替代Autowired和 Qualifier

      Resource注解时java注解,而 Autowired时spring注解。 Resource 注解的注入方法时 默认先按名称注入;然后按照类型匹配注入 ,例如:

 

参考文章:spring @Controller、@Service、@Repository、@Component总结-马育民老师

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容