Spring Boot是Spring家族当下最流行的框架之一,其基本上整合了JAVA市面上的主流框架。如 :xxxxx-starter-xxxxx
个人拙见,springboot最突出的应该就是高效自动化还有其独特的yml格式配置文件。话不多了,开始搞事。注:此处使用的是Springboot2,最新版本,与之前版本有所buto(个人拙见,学习回顾,望各位大佬多多指正)
POM.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.cupid</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置文件resources根目录下application.properties/application.yml
在最初demo暂时无需配置,后续使用,会对其进行逐步添加。
程序入口(SpringBoot项目入口)
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
//方式一
SpringApplication application = new SpringApplication(DemoApplication.class);
application.addListeners(new DemoListener());
application.run(args);
//方式二
SpringApplication.run(DemoApplication.class, args);
}
}
新建一个实体类用于测试
package cn.cupid.domain;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import java.io.Serializable;
/**
* @Author: cupid
* Created by Cupid520 on 2018/12/27.
* @Description:
*/
@EntityScan
public class User implements Serializable{
private static final long serial = 1l;
private Long UID;
private String UNAME;
private String UPWD;
public User(){
super();
}
public User(Long UID, String UNAME, String UPWD) {
this.UID = UID;
this.UNAME = UNAME;
this.UPWD = UPWD;
}
public Long getUID() {
return UID;
}
public void setUID(Long UID) {
this.UID = UID;
}
public String getUNAME() {
return UNAME;
}
public void setUNAME(String UNAME) {
this.UNAME = UNAME;
}
public String getUPWD() {
return UPWD;
}
public void setUPWD(String UPWD) {
this.UPWD = UPWD;
}
@Override
public String toString() {
return "User{" +
"UID=" + UID +
", UNAME='" + UNAME + '\'' +
", UPWD='" + UPWD + '\'' +
'}';
}
}
新建一个Controller控制器,用于接收客户端请求
package cn.cupid.controller;
import cn.cupid.domain.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author: cupid
* Created by Cupid520 on 2018/12/27.
* @Description: simple controller
*/
@RestController
public class HelloController {
@RequestMapping("/getUser")
public User getUser(){
User user = new User();
user.setUID(123L);
user.setUNAME("test");
user.setUPWD("12235");
return user;
}
}
对于Controller中的注解@RestControllers实际上相当于Spring MVC中注解@ResponserBody与@Controller相结合
点击运行上述的DemoApplication类中的main方法,运行结果如下:
‘’ 可以看到明显的spring的logo,至于其中的红色字体是个人的其他类作用,与此次运行无关,忽略即可。
从浏览器访问,效果如下:
自此,第一个demo完成了