學習東西需要記錄,不然很容易忘記。很久之前就學習了springboot,在學習Vue前端框架的時候需要寫一個增刪改查的demo。迅速想到了springboot,學習很久了,springBoot的東西都忘得差不多了。於是重新開始學習一次。(誰叫咱記憶力不佳)。下面正式開始把。
一、建立springboot項目
1、打開IDEA點擊spring initalizr

2、點擊下一步

3、勾選springboot版本 選擇web

4、完成springboot搭建 項目結構

5、maven中的jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
6、檢驗是否成功 創建一個簡單的HelloController
@RestController public class HelloController { @RequestMapping("/hello") public String hello() { return "hello world"; } }
點擊箭頭啟動項目

瀏覽器訪問
在瀏覽器輸入http://localhost:8080/hello 打印出hello 即創建springboot項目成功。

二、基礎配置
1、springboot 配置application 推薦使用yml減少配置代碼量
在resource下面建立一個application.yml配置

可以配置tomcat端口和項目根路徑
在頁面上輸入 localhost:8080/vue/hello 即可訪問
2、讀取配置文件

創建一個 name值隨意
@RestController
public class HelloController {
/**
* 讀取配置文件
*/
@Value("${name}")
private String name;
@RequestMapping("/hello")
public String hello() {
return "hello world";
}
@RequestMapping("/say")
public String say() {
return "hello world"+name;
}
}
在頁面輸入localhost:8080/vue/say 即可看到 打印信息 hello world老哥穩
3、讀取對象信息 (如果值一多,我們可以使用對象獲取配置文件信息)

建立一個Person對象 
建立一個本地 Person獲取配置文件person信息
Component :注入到容器
ConfigurationProperties :用於讀取配置文件信息 person指名讀取配置文件名稱
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
@RestController
public class HelloController {
/**
* 讀取配置文件
*/
@Value("${name}")
private String name;
@Autowired
private Person person;
@RequestMapping("/hello")
public String hello() {
return "hello world";
}
@RequestMapping("/say")
public String say() {
return "hello world"+name;
}
@RequestMapping("/sayCar")
public String sayCar() {
return person.getId()+"hello world"+person.getName();
}
}
4、獲取get 請求附帶的值
RequestMapping 即可獲取從頁面獲取過來的值
輸入請求 localhost:8080/vue/value?id=10 在方法中即可獲取到id的值
如果沒有我們可以給定一個默認值defaultValue = "0"
@RequestMapping(value = "value" ,method = RequestMethod.GET)
public String getValue(@RequestParam(value = "id",required = false ,defaultValue = "0") Integer id) {
return "getValue:"+id.toString();
}
5、多配置文件 我們可以設置 spring.profiles.active指定讓 springboot項目讀取讀取那一個配置文件,方便我們部署項目。active:可選擇 prod dev等


三、數據庫連接 jpa
maven依賴包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
一些數據庫配置
server:
port: 8088
servlet:
context-path: /vuedemo
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://127.0.0.1:3306/vuedemo?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
jpa:
show-sql: true
數據庫
DROP TABLE IF EXISTS `car`; CREATE TABLE `car` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 11127 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
創建bean
@Entity
public class Car {
private String name;
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Integer id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
創建dao
public interface CarDao extends JpaRepository<Car,Integer> {
}
創建service impl
public interface CarService { public List<Car> selectCarList(); public Car addCar(Car car); public int deleteCar(Integer id); }
@Service public class CarServiceImpl implements CarService { @Autowired private CarDao carDao; @Override public List<Car> selectCarList() { return carDao.findAll(); } @Override public Car addCar(Car car) { return carDao.save(car); } @Override public int deleteCar(Integer id) { carDao.deleteById(id); return 1; } }
創建 controll
/** * ctrl +alt +b 快速查找子類實現 */ @RestController public class CarController { @Autowired private CarService carService; @RequestMapping("/getCarList") public List<Car> getCarList() { return carService.selectCarList(); } @RequestMapping(value = "/addCarList") public Car addCarList(@RequestParam("name") String name){ Car car=new Car(); car.setName(name); return carService.addCar(car); } @RequestMapping("/deleteCarList") public int deleteCarList(@RequestParam("id") Integer id){ return carService.deleteCar(id); } }
一個簡單的增刪改查完成
查詢

添加

刪除

