环境搭建
- JDK1.8
- IDEA2021.2.3 Ultimite Edition
- Maven使用IDEA自带的3.6;修改repository文件夹,Maven国内镜像等
- 确认UTF-8
- 加载Gitee插件,配置Gitee账户
新建Maven与Spring Boot项目
- New Project - Maven - 设置项目Name,GroupId等
- 创建module,选择Spring Initializr - 设置name,Java选择8
- Spring Boot版本选择2.7.10
- Dependencies选择Spring Boot DevTools和Spring Web
注:第一次创建会下载很长时间
创建必要的包,接口和类
必要接口和类的代码
User.java
public class User {
private int id;
private String username;
private String pwd;
public User(){}
public User(int id, String username, String pwd){
this.id = id;
this.username = username;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
Video.java
public class Video implements Serializable{
private int id;
private String title;
private String summary;
private int price;
private String coverImg;
private Date createTime;
public Video(){}
public Video(int id, String title){
this.id = id;
this.title = title;
this.createTime = new Date();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getCoverImg() {
return coverImg;
}
public void setCoverImg(String coverImg) {
this.coverImg = coverImg;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
return "Video{" +
"id=" + id +
", title='" + title + ''' +
", summary='" + summary + ''' +
", price=" + price +
", coverImg='" + coverImg + ''' +
", createTime=" + createTime +
'}';
}
}
UserMapper
public class UserMapper {
private static Map<Integer, User> userMap = new HashMap<>();
static {
userMap.put(1,new User(1,"jack","123"));
userMap.put(2,new User(2,"chen","123456"));
userMap.put(3,new User(3,"zhang","123"));
}
}
VideoMapper
public class VideoMapper {
private static Map<Integer, Video> videoMap = new HashMap<>();
static {
videoMap.put(1,new Video(1,"java基础教程"));
videoMap.put(2,new Video(2,"java基础教程2"));
videoMap.put(3,new Video(3,"java基础教程3"));
videoMap.put(4,new Video(4,"java基础教程4"));
}
}
业务逻辑
VideoMapper.java
@Repository//识别出这是一个组件,自动new这个类
public class VideoMapper {
private static Map<Integer, Video> videoMap = new HashMap<>();
static {
videoMap.put(1,new Video(1,"java基础教程"));
videoMap.put(2,new Video(2,"java基础教程2"));
videoMap.put(3,new Video(3,"java基础教程3"));
videoMap.put(4,new Video(4,"java基础教程4"));
}
public List<Video> listVideo(){
List<Video> list = new ArrayList<>();
list.addAll(videoMap.values());
return list;
}
}
VideoService.interface
public interface VideoService {
List<Video> listVideo();
}
VideoServiceImpl.java
@Service
public class VideoServiceImpl implements VideoService {
@Autowired //自动装配
private VideoMapper videoMapper; //不用new,直接用注解
@Override
public List<Video> listVideo() {
return videoMapper.listVideo();
}
}
VideoController.java
@RestController
@RequestMapping("/api/v1/video")
public class VideoController {
@Autowired
private VideoService videoService;
@GetMapping("list")
public Object list(){
List<Video> list = videoService.listVideo();
return list;
}
}