博客
关于我
@Repository,@Service,@Resource不指定value,name时是否起作用
阅读量:796 次
发布时间:2023-03-23

本文共 948 字,大约阅读时间需要 3 分钟。

@Repository与@Resource

在Spring框架中,@Repository和@Resource是两种常见的注解,用于资源管理和注入。但它们的用途和作用有所不同。以下是对两者的详细解释。

@Repository

@Repository是Spring Data JPA中定义的一个注解,主要用于标记持久化接口。它使接口成为Spring Data JPA的Repository组件的候选接口。通过@Repository注解,可以将接口自动转换为持久化实现类。这种方式简化了DAO层的实现,减少了手动编写JPA查询的需求。

@Resource

@Resource是Spring框架定义的一个通用注解,用于注入其他Spring-managed bean。它可以注入任意类型的资源,包括单tons和scopes。@Resource默认会根据bean的id进行注入。比如:

@Service("userService")
public class UserService {
@Resource(name = "userDao")
private UserDao userDao;
}

这里,@Resource(name = "userDao")表示将userDao bean注入到userService中。

@Repository("UserDao")与@Repository(value = "UserDao")是同义的,效果相同。

@Repository注解可以用来标记持久化接口,或者直接注入持久化Bean。比如:

@Repository("UserDao")
public interface UserDao {
void save(User user);
}

在这种情况下,UserDao接口会被Spring Data JPA自动转换为持久化实现类。

总结:

  • @Repository主要用于标记持久化接口,自动转换为持久化实现类。
  • @Resource用于注入Spring-managed bean,可以注入任意类型的资源。

两者在Spring应用中都有重要作用,但使用场景不同。@Repository通常用于数据访问层,而@Resource用于资源管理和注入。

转载地址:http://raqfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现A-Star算法(附完整源码)
查看>>
Objective-C实现atoi函数功能(附完整源码)
查看>>
Objective-C实现base64加密和base64解密算法(附完整源码)
查看>>
Objective-C实现base85 编码算法(附完整源码)
查看>>
Objective-C实现basic graphs基本图算法(附完整源码)
查看>>
Objective-C实现BCC校验计算(附完整源码)
查看>>
Objective-C实现bead sort珠排序算法(附完整源码)
查看>>
Objective-C实现BeadSort珠排序算法(附完整源码)
查看>>
Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
查看>>
Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
查看>>
Objective-C实现BellmanFord贝尔曼-福特算法(附完整源码)
查看>>
Objective-C实现BF算法 (附完整源码)
查看>>
Objective-C实现binary exponentiation二进制幂运算算法(附完整源码)
查看>>
Objective-C实现binomial coefficient二项式系数算法(附完整源码)
查看>>
Objective-C实现check strong password检查密码强度算法(附完整源码)
查看>>
Objective-C实现disjoint set不相交集算法(附完整源码)
查看>>
Objective-C实现DNF排序算法(附完整源码)
查看>>
Objective-C实现double factorial recursive双阶乘递归算法(附完整源码)
查看>>
Objective-C实现double hash双哈希算法(附完整源码)
查看>>
Objective-C实现double linear search recursion双线性搜索递归算法(附完整源码)
查看>>