前言:
许多初学者在配置相关环境后便相快速搭建“实体-持久-业务-控制层”示例项目。但由于经验不足可能在某些地方埋下隐患而导致搭建失败。本文将一些容易出错的地方标注,并附上相关依赖和配置清单,来帮助初学者快速入手。本文环境如下:
- Java 1.8
- MySQL 8.0
- IDEA 2019
- Maven 3.6.3
Java编码:
项目工程结构如下图所示。分为controller
-entity
-reponsitory
-service
-service.impl
这几个层次。
其中controller
是存放控制类的代码,entity
存放实体Java Bean,reponsitory
存放与实体Java Bean相关的持久层代码,service
存放与业务相关的接口,service.impl
存放与service
相关的具体实现。
示例工程中具体存放如下所示类:
1:entity
层中的BusinessBean.java
:
(注意@Id
这个注解导入的是 javax.persistence.Id
)
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table
public class BusinessBean {
// Note this package ought to be javax.
@Id
private String id;
@Column
private String name;
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public BusinessBean(){
}
public BusinessBean(String id, String name){
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "BusinessBean{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
}
2:reponsitory层的BusinessBeanRepository.java:
(JpaRepository<>
这个泛型参数第一个为实体Bean,第二个实体Bean的主键数据类型)
import com.example.demo.entity.BusinessBean;
import org.springframework.data.jpa.repository.JpaRepository;
public interface BusinessBeanRepository extends JpaRepository<BusinessBean, String> {