2019.06.12 Spring Data Jpa dao层注解开发Bean注入失败问题点

1.service层在controller中bean注入失败,要注意俩点
第一点:ServiceImpl类上需加上@Service注解 如图:
类上加上@Service注解
第二点:dao层RepositoryImpl类上加上@Repository注解,在dao层中Repository接口与RepositoryImpl类没有关系,RepositoryImpl类并不实现Repository接口 如图:
dao层的RepostoryImpl类上加上@Repository注解

### JPA DAO 注解及其用法 #### 使用 `@Entity` 定义实体类 为了使普通的 Java 类成为持久化实体,可以使用 `@Entity` 注解。此注解用于标记该类是一个实体bean,在数据库中对应一张表。 ```java @Entity public class User { private Long id; private String name; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ``` 上述代码定义了一个名为 `User` 的实体,并指定了其主键生成策略为自增[^1]。 #### 使用 `@PersistenceContext` 和 `@PersistenceUnit` 对于DAO的操作,通常会涉及到与EntityManager的交互。通过 `@PersistenceContext` 或者 `@PersistenceUnit` 可以注入 EntityManagerFactory 或 EntityManager 实例来执行CRUD操作。 ```java @Repository public class UserDao { @PersistenceContext private EntityManager entityManager; public List<User> findAllUsers() { return entityManager.createQuery("SELECT u FROM User u", User.class).getResultList(); } } ``` 这段代码展示了如何利用 `@PersistenceContext` 来获取 `EntityManager` 并查询所有的用户记录。 #### 结合Spring Data Repositories实现更简洁的数据访问接口 当结合 Spring Data 项目时,可以通过简单的声明式编程快速创建数据访问对象(DAO),而无需编写具体的实现逻辑。只需继承特定于存储库类型的接口即可获得丰富的 CRUD 方法支持。 ```java public interface UserRepository extends JpaRepository<User, Long> { } ``` 这里展示的是基于JPA的一个简单仓库接口定义,它自动提供了基本的保存、删除以及按ID查找等功能[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值