1.Spring Boot 简介
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决
1.1 为什么要使用Spring Boot
它的出现解决了传统spring项目以下的问题:
1)配置负责繁多
每一个组件集成spring都需要编写对应配置文件,比如appplicationContext-xxx.xml
2)混乱的依赖管理
在spirng中想集成对应组件时,需要导入N多的pom,并且还有考虑版本。我们使用SpringBoot创建java应用,只需填写很少配置和依赖就能快速搭建,并使用java –jar 启动它,就能得到一个生产级别的web工程。非常方便。
1.2 Spring Boot特点
Spring Boot 主要目标是:
- 为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验
- 开箱即用(启动器starter-其实就是SpringBoot提供的一个jar包),但通过自己设置参数(.properties),即可快速摆脱这种方式。
- 提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等
- 绝对没有代码生成,也无需 XML 配置。
2.Spring boot入门
2.1 环境准备
- jdk1.8:Spring Boot 推荐jdk1.7及以上;java version “1.8.0_112”
- maven3.x:maven 3.3以上版本;Apache Maven 3.3.9
- IntelliJIDEA2017:IntelliJ IDEA 2017.2.2 x64、STS
- SpringBoot 1.5.9.RELEASE:1.5.9;
2.2 创建SpringBoot项目
点击IDEA左上角File–>New–>Project
输入项目名字,选择项目位置,点击Finish
注意在创建过程中需要联网,创建过程中会自动下载SpringBoot的一些相关东西
2.3 项目基本认识
项目结构和ssm架构基本一样,三层架构,
<?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 https://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.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.itsource.springboot</groupId>
<artifactId>springboot_day01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_day01</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</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-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.yml配置文件
spring:
datasource:
username: root
password: xxx
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///crm
mybatis:
mapper-locations: classpath:cn/itsource/springboot/mapper/*Mapper.xml
domain
public class Employee {
private Long id;
private String username;
private String password;
mapper
public interface EmployeeMapper {
//查询全部数据
List<Employee> queryAll();
}
service
public interface IEmployeeService {
//查询全部数据
List<Employee> queryAll();
}
serviceimpl
@Service
public class EmployeeServiceImpl implements IEmployeeService {
@Autowired
private EmployeeMapper employeeMapper;
//查询全部数据
@Override
public List<Employee> queryAll() {
return employeeMapper.queryAll();
}
}
controller
@Controller
public class EmployeeController {
@Autowired
private IEmployeeService employeeService;
@ResponseBody
@RequestMapping("/employee")
public List<Employee> queryAll(){
return employeeService.queryAll();
}
}
SpringbootDay01Application
//自动配置
@SpringBootApplication
//扫描mapper包
@MapperScan(basePackages = "cn.itsource.springboot.mapper")
public class SpringbootDay01Application implements WebMvcConfigurer{
@Autowired
private MyLoginInterceptor myLoginInterceptor;
public static void main(String[] args) {
SpringApplication.run(SpringbootDay01Application.class, args);
}
}
EmployeeMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.itsource.springboot.mapper.EmployeeMapper">
<select id="queryAll" resultType="cn.itsource.springboot.domain.Employee">
select
id,
username,
password
from t_employee
</select>
</mapper>
点击右上角绿色三角号箭头,启动项目,这里因为已启动,所以按钮变了,可以看到控制台的启动日志
网页上输入端口,查出数据,至此,SpringBoot Web项目搭建并启动完成