一、简介(http://start.spring.io/)
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。简便起见,该框架也提供了命令行界面,它可以用来运行和测试Boot应用。框架的发布版本,包括集成的CLI(命令行界面),可以在Spring仓库中手动下载和安装。一种更为简便的方式是使用Groovy环境管理器(Groovy enVironment Manager,GVM),它会处理Boot版本的安装和管理。Boot及其CLI可以通过GVM的命令行gvm install springboot进行安装。在OS X上安装Boot可以使用Homebrew包管理器。为了完成安装,首先要使用brew tap pivotal/tap切换到Pivotal仓库中,然后执行brew install springboot命令。
要进行打包和分发的工程会依赖于像Maven或Gradle这样的构建系统。为了简化依赖图,Boot的功能是模块化的,通过导入Boot所谓的“starter”模块,可以将许多的依赖添加到工程之中。为了更容易地管理依赖版本和使用默认配置,框架提供了一个parent POM,工程可以继承它。
二、项目搭建
1、开发环境搭建:
IDEA继承工具、MySql数据库
2、创建springboot项目:
依据上图依次创建项目创建完毕
resources文件目录:
3、配置文件
(1)application.properties文件:
server.port=8081
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/dbone?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = root
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.type-aliases-package=cn.fcw.bb.webapply.model
mybatis.mapper-locations=classpath:mapper/*.xml
(2) 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>
<groupId>cn.fcw.bb</groupId>
<artifactId>webapply</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
<name>webapply</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR1</spring-cloud.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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>
false
</fork>
</configuration>
</plugin>
</plugins>
</build>
</project>
(3)项目入口Application加入注解
@SpringBootApplication
@MapperScan("cn.fcw.bb.webapply.mapper")
public class WebApplyApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplyApplication.class, args);
}
}
src下java包名结构
注意:WebApplyApplication类一定要放在项目包名下的第一级,否则扫包会出现各种问题,对象自动装配失败。
三、web测试
创建controller测试类:
package cn.fcw.bb.webapply.ctl;
import cn.fcw.bb.webapply.base.BaseBean;
import cn.fcw.bb.webapply.model.UserBean;
import cn.fcw.bb.webapply.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/test")
@ResponseBody
public String userControllerTest() {
return "凉凉-(电视剧《三生三世十里桃花》片尾曲) - 张碧晨&杨宗纬\n" +
"作词:刘畅\n" +
"作曲:谭旋\n" +
"编曲:韦国赟\n" +
"入夜渐微凉 繁花落地成霜\n" +
"你在远方眺望 耗尽所有暮光\n" +
"不思量 自难相忘\n" +
"夭夭桃花凉 前世你怎舍下\n" +
"这一海心茫茫 还故作不痛不痒不牵强\n" +
"都是假象\n" +
"凉凉夜色 为你思念成河\n" +
"化作春泥 呵护着我\n" +
"浅浅岁月 拂满爱人袖\n" +
"片片芳菲 入水流\n" +
"凉凉天意 潋滟一身花色\n" +
"落入凡尘 伤情着我";
}
}
此处可以直接使用@RestController将返回的String转为json
运行项目:
项目运行成功
浏览器问测试,springboot访问不去要加项目名称 http:localhost:8889/user/test