SpringBoot学习1

121 阅读1分钟

环境搭建

  1. JDK1.8
  2. IDEA2021.2.3 Ultimite Edition
  3. Maven使用IDEA自带的3.6;修改repository文件夹,Maven国内镜像等
  4. 确认UTF-8
  5. 加载Gitee插件,配置Gitee账户

新建Maven与Spring Boot项目

  1. New Project - Maven - 设置项目Name,GroupId等
  2. 创建module,选择Spring Initializr - 设置name,Java选择8
  3. Spring Boot版本选择2.7.10
  4. Dependencies选择Spring Boot DevTools和Spring Web

注:第一次创建会下载很长时间

创建必要的包,接口和类

image.png

image.png

必要接口和类的代码

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;
    }
}

编译,访问

http://localhost:8080/api/v1/video/list