SpringBoot特点
创建可以独立运行的Spring应用
内嵌Tomcat/Jetty容器,可直接打成jar包启动,无需提供Java WAR包以 及繁琐的Web配置
提供Spring各个插件的基于Maven的pom配置,简化Maven配置过程
尽可能的根据项目依赖来自动配置Spring框架,简化开发流程
没有代码生成,也没有 XML 配置文件
提供支持强大的Restfult风格的编码,非常简洁
提供更多的企业级开发特性,如何系统监控,健康诊断,权限控制
SpringBoot项目示例
开放环境
jdk | 1.8.X |
Dynamic Web Module | 3.1 |
SpringBoot | 1.5.X |
apache-maven | 3.5.2 |
apache-tomcat | 8.5.24 |
项目结构
配置文件
pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>TestSpringBoot</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>TestSpringBoot Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<finalName>TestSpringBoot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
代码
实体类User
package com.example.entity;
import org.springframework.stereotype.Component;
@Component
public class User {
int id;
String username;
String password;
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 getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
}
}
控制器 UserController(以restcontroller为例)
package com.example.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.entity.User;
@RestController
public class UserController {
@Autowired
User user;
@RequestMapping("/details/{id}")
public User test2(@PathVariable int id) {
user.setId(id);user.setUsername("chen");
user.setPassword("123456");
return user;
}
@RequestMapping("/show/{username}/{password}")
public Map<String,String>test3(@PathVariable("username") String username,
@PathVariable("password") String password){
Map<String,String> map=new HashMap<>();
map.put("username", username);
map.put("password", password);
return map;
}
@RequestMapping("/")
public String index() {
return "Hello Spring Boot";
}
@RequestMapping("/hello")
String test1(String username) {
return "hello "+username;
}
}
启动类