1.SpringBoot简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者的。
以往的spring应用往往需要大量的xml配置,为了改变这一现状spring团队引入了java config(主要依赖@Configuration、@Bean等注解)配置方案,但在整合第三方库时依然需要配置很多固定的Bean,这和xml配置一样仍然有些繁琐,因此spring boot项目应运而生,采用自动化配置方案简化spring应用开发的配置工作。
SpringBoot的特点
-
为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验
-
快速创建独立运行的Spring项目以及与主流框架集成
-
使用嵌入式的Servlet容器,应用无需打成WAR包
-
starters(场景启动器)自动依赖与版本控制
-
大量的自动配置,简化开发,也可修改默认值
-
无需配置XML,无代码生成,开箱即用
-
准生产环境的运行时应用监控
-
与Spring Cloud (Alibaba)微服务框架天然集成
SpringBoot官方文档地址:
2.创建一springboot的初始项目
2.1.创建一个Maven工程,并在pom文件中添加依赖
①导入spring boot父工程
SpringBoot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖(并非全部)的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标即可!
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/>
</parent>
②导入spring boot 的Web启动器
为了让SpringBoot帮我们完成各种自动配置,我们必须引入SpringBoot提供的自动配置依赖,我们称为启动器。因为我们是web项目,这里我们引入web启动器:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
②整合mybatis-plus
<!--Mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--<version>5.1.28</version>-->
</dependency>
<!--druid场景启动器(不是官方的)第三方的 自动配置数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!--MyBatis Plus 场景启动器(不是官方的)第三方的 自动把MyBatis配置-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
2.2.添加一个三层(controller、service、mapper)
按照常规的ssm框架下的模式添加三层架构
2.3.添加一个启动类
Spring Boot项目通过main函数即可启动,我们需要创建一个启动类(App,class), 然后编写main函数。通常来说这个启动类需要放在父包下面,因为启动类里面@SpringBootApplication注释有个包扫描可以扫描该包以及其子包下面的注解。
@SpringBootApplication
public class App {
//spring boot 的启动类
//规范:spring boot 的启动类放在父包下
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
2.4.添加数据库配置信息
在resource下面添加一个application.properties文件,用于配置数据库等信息。
server.port=9090
# 配置数据源的账号信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot_ssm?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# MyBatis Plus配置
mybatis-plus.type-aliases-package=com.ssm.pojo
mybatis-plus.mapper-locations=classpath*:mappers/*.xml
# 默认开启驼峰命名 user_name--->userName
mybatis-plus.configuration.map-underscore-to-camel-case=true
3.Jar包部署
3.1.插件支持
<build>
<plugins>
<!-- springboot maven打包-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.2.运行
窗口运行:java -jar xxx.jar
后台运行(linux): nohup java -jar XXX.jar &
4.自定义Banner
启动Spring Boot项目后会看到这样的图案,这个图片其实是可以自定义的。
1.打开网站:Text to ASCII Art Generator (TAAG)
2.拷贝生成的字符到一个文本文件中,并且将该文件命名为banner.txt 将banner.txt拷贝到项目的resources目录中:
3.重新启动程序,查看效果:
5.数据库表中的关键字问题
如果数据库中的一个字段为关键字时,在mysql查询的时候会造成查询不出结果的问题,如果在程序中查询时也会报sql语句错误的问题。例如,在一个数据表中加入一个lead数据字段。
在mysql中查询的时候会没有查询结果。解决办法sql语句中将lead改为`lead`:
在程序中查询的时候会报sql语句错误的问题。解决办法对应得实体类中得关键字添加一个@TableField注解语句中将lead改为`lead`: