什么是SpringBoot
Spring 相当于Web项目中的静态路由功能,主要是实现业务逻辑,当UI层发生请求用来解析请求数据内容,并从数据层查询并解析Bean结构,然后返回给UI层数据。
SpringMVC 的底层 servlet的封装,但配置比较繁琐。
SpringBoot 是 依赖于 SpringMVC 项目整合
SpringBoot 包括 Spring 和 SpringMVC,主要作用为了 SpringMVC 的简化配置而存在的
所以,现在Boot项目流行是因为帮助项目简化配置,如果不需要也可以使用自定义的方式,大大的提升了项目的开发时间。
Spring Boot 也是 SSH框架的集合
Spring:DI/AOP
Struts:MVC
Hibernate:ORM
Spring Boot特点
- 基于RESTful API来创建项目结构
独立运行的Spring项目
以jar包的形式来运行,运行一个Spring Boot项目我们只需要通过java -jar xx.jar类运行
内嵌Servlet容器
可以内嵌Tomcat,这样我们无需以war包的形式部署项目
提供starter简化Maven配置
- 自动配置Spring
- 准生产的应用监控
- 无代码生成xml配置
项目配置
testCompile('org.springframework.boot:spring-boot-starter-test')
compile('org.springframework.boot:spring-boot-starter-web')
compile group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '1.3.1'
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.8-dmr'
项目启动配置文件
spring-boot 作为路由功能(逻辑处理)
mysql 和 mybatis-spring-boot 作为数据处理功能
compile('org.springframework.boot:spring-boot-starter-web')
compile group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '1.3.1'
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.8-dmr'
在 ./src/mian/resources 目录下创建一个 application.yml文件
application.yml 与 application.properties 效果一样,
==注意:此配置文件只能存在一种格式==
yml
YAML 是专门用来写配置文件的语言,此文件设计目标就是方便人类读写。
它实质上是一种通用的数据串行化格式。
server:
# 端口配置
port: 8090
session-timeout: 30
tomcat.max-threads: 0
tomcat.uri-encoding: UTF-8
spring:
# 数据库配置
datasource:
url : jdbc:mysql://localhost:3306/home?useUnicode=true&characterEncoding=utf-8&useSSL=false
username : root
password : 123456
driverClassName : com.mysql.cj.jdbc.Driver
datasource节点
此节点的作用是自动配置MyBatis-Spring-Boot-Starter。
它会自动创建使用该DataSource的SqlSessionFactoryBean以及SqlSessionTemplate
项目启动
==注意:SpringBoot对包结构有很严格的要求,否则启动会失败==
==此项目的包结构在/main/src/springboot/ 创建包和类==
1、新建Application启动类
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
@SpringBootApplication 注解
SpringBoot核心启动类,它的目的就是开启Spring Boot的自动配置
SpringApplication.run(Application.class, args);
2、新建controller包和HelloWorld类
@RestController
public class HelloWorld {
@RequestMapping(value = "/",produces = "text/plain;charset=UTF-8")
public String hello() {
return "你好 Spring Boot !";
}
}
使用 http://localhost:8080/ 访问结果
2、新增2级url访问
@RestController("/helloWorld")
public class HelloWorld {
@GetMapping
public String hello() {
return "你好 Spring Boot !";
}
}
@RestController
结果返回
@RequestMapping(value = “/” ,produces = “text/plain;charset=UTF-8”)
url访问路径,其中 value 代表访问的路径,produces 设置返回参数编码
@GetMapping
相当于 @RequestMapping(method = RequestMethod.GET)