SpringBoot---環境體驗

創建 Maven 工程,導入相關依賴。

<!-- 繼承父包 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.0.RELEASE</version>
</parent>

<dependencies>
  <!-- web啓動jar -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.6</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

創建 Student 實體類

package com.southwind.entity;

import lombok.Data;

@Data
public class Student {
    private long id;
    private String name;
    private int age;
}

StudentRepository業務接口

package com.southwind.repository;

import com.southwind.entity.Student;

import java.util.Collection;

public interface StudentRepository {
    public Collection<Student> findAll();
    public Student findById(long id);
    public void saveOrUpdate(Student student);
    public void deleteById(long id);
}

StudentRepositoryImpl業務實現

package com.daq.repository.impl;

import com.daq.entity.Student;
import com.daq.repository.StudentRepository;

import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author daq
 * @description 這是具體業務方法的實現類
 */
public class StudentRepositoryImpl implements StudentRepository {

    private static Map<Long,Student> studentMap;

    static {
        studentMap= new HashMap<>();
        studentMap.put(1l,new Student(1l,"代澳旗",21));
        studentMap.put(1l,new Student(2l,"吳桐",22));
        studentMap.put(1l,new Student(3l,"嗚啦啦",22));
    }

    @Override
    public Collection<Student> findAll() {
        return studentMap.values();
    }

    @Override
    public Student findById(long id) {
        return studentMap.get(id);
    }

    @Override
    public void saveOrUpdate(Student student) {
        studentMap.put(student.getId(),student);
    }

    @Override
    public void deleteById(Long id) {
        studentMap.remove(id);
    }
}

StudentHandler控制器

package com.daq.controller;

import com.daq.entity.Student;
import com.daq.repository.StudentRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Collection;

/**
 * @author daq
 * @description 這是控制器,相關的業務
 */
@RestController
@RequestMapping("/student")
public class StudentHandler {
    
    @Autowired
    private StudentRepository studentRepository;
    
    @GetMapping("/findAll")
    public Collection<Student> findAll(){
        return studentRepository.findAll();
    }
    @GetMapping("findById/{id}")
    public Student findById(@PathVariable("id") long id){
        return studentRepository.findById(id);
    }
    @PostMapping("/save")
    public void save(@RequestBody Student student){
        studentRepository.saveOrUpdate(student);
    }
    @PutMapping("/update")
    public void update(@RequestBody Student student){
        studentRepository.saveOrUpdate(student);
    }
    
    @DeleteMapping("/deleteById/{id}")
    public void deleteById(@PathVariable("id") long id){
        studentRepository.deleteById(id);
    }    
}

SpringBoot啓動類

  • @SpringBootApplication註解 表示當前類是 Spring Boot 的入口,Application 類的存放位置必須是其他相關業務類的存放位置的父級。
package com.daq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author daq
 * @description 這是啓動類,作爲整個SpringBoot的入口,
 * 需要添加@SpringBootApplication才知道這是入口
 */
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

application.yml更改端口號

  • 必須取名爲application.yml
  • xml簡單多了,xml還要引入頭標籤
server:
  port: 9090

啓動main方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章