这里有新鲜出炉的精品教程,程序狗速度看过来!
Spring 是什么呢?首先它是一个开源的项目,而且目前非常活跃;它是一个基于 IOC 和 AOP 的构架多层 j2ee 系统的框架,但它不强迫你必须在每一层 中必须使用 Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的 MVC,对不同的数据访问技术提供了统一的接口,采用 IOC 使得可以很容易的实现 bean 的装配,提供了简洁的 AOP 并据此实现 Transcation Managment,等等
这篇文章主要介绍了 Spring @Service 和 @Resource 注解的区别的相关资料, 需要的朋友可以参考下
Spring 中 @Service 和 @Resource 注解的区别
1 前言
在咱们使用 spring 框架的时候,注解是 "不可或缺" 的一部分,她帮我们脱离了配置繁琐的 XML 文件的工作,但有一点却需要我们自己去把握,那就是 "3 何",即 "何时何地用何注解?" 在本篇博文中,作者就简单介绍一下如何恰当的使用 @Service 和 @Resource 这两个注解。
2 注解
2.1 @Service
当咱们需要定义某个类为一个 bean 的时候,就可以在这个类的类名上一行加一个 @Service 注解,即
- @Service("yeepay")
- public class YeepayService(){
- public static void sayHi(){
- System.out.println("Hi,维C果糖!");
- }
- }
在这里,@Service("XXX"),就相当于将这个类定义为一个 bean,其中,XXX 即为 bean 的名称。此外,咱们只用此注解标记 bean,如果不填 value 的话,则 Spring 生成的 bean 名称是取类名,然后将首字母小写。
2.2 @Resource
当咱们需要在某个类中定义一个属性,并且该属性是一个已存在的 bean,在为该属性赋值或注入的时候,就需要在该属性的上一行添加一个 @Resource 注解,即
- @Service
- public class YeepayService(){
- @Resource(name="yeePay")
- private YeePay yeePay;
- public static void sayHi(){
- System.out.println("Hi,维C果糖!");
- }
- }
在这里,@Resource(name="XXX"),就相当于为该属性注入一个名称为 XXX 的 bean。
3 引申
在 Spring 2.5 中,其为咱们提供了丰富的注解,在此介绍四个常用的注解:
以上这四个注解都是基于类的,咱们可以定义名称,也可以不定义名称。在不定义名称的时候,Spring 就会默认以类名且首字母小写的词组为 bean 的名称。此外,大家还可以通过阅读 "点我、点我、点我",了解 @Autowired 和 @Resource 注解的区别。
来源: http://www.phperz.com/article/17/0819/338997.html