1、springboot简介
1.1 简介
springMVC是spring框架系列的明星框架,它的设计主打松耦合、可扩展和简易化配置,让使用框架的开发人员投入更多的精力在业务逻辑开发上,而不用太多的关注多框架集成产生的冲突和依赖问题,同时也简化了许多框架之间依赖配置,可以通过少量的配置实现多框架的整合。
1.2 自定义springboot启动logo
- 在 src/main/resources 放入 banner.txt 文件,该文件名字不能随意,文件中的内容就是要输出的logo ;
- 利用网站生成图标:
https://www.bootschool.net/ascii
或者http://patorjk.com/software/taag/
; - 将生成好的图标文字粘贴到 banner.txt 文件中,然后将关闭 logo 输出的语句注释,启动看效果
2、springboot集成框架
2.1 集成springmvc
- pom.xml中添加springmvc依赖
<!--SpringBoot框架web项目起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- application.properties中添加springmvc配置
#配置内嵌Tomcat端口号
server.port=8081
#设置上下文根
server.servlet.context-path=/
2.2 集成mybatis
- pom.xml中添加mybatis依赖和插件
<!--MyBatis集成Springboot起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!--MySQL驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis 代码自动生成插件-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>GeneratorMapper.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
- application.properties中配置mybatis数据库连接池属性
#设置连接数据库信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=password
2.3 集成jsp
- pom.xml中添加jsp依赖和配置资源打包路径
<!--SpringBoot集成JSP,仅仅只是展示JSP页面需要添解析jsp页面的依赖-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!--资源打包路径添加webapp下的所有资源-->
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources<targetPath>
<includes>
<include>*.*</include>
</includes>
</resource>
</resources>
- application.properties中配置视图解析器
#配置视图解析器
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
2.4 集成dubbo
- pom.xml中添加dubbo依赖
<!--Dubbo集成SpringBoot起步依赖-->
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!--注册中心-->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
- application.properties中添加dubbo配置
#设置dubbo配置
spring.application.name=024-springboot-dubbo-ssm-provider
#声明当前工程为服务提供者
spring.dubbo.server=true
#设置注册中心
spring.dubbo.registry=zookeeper://192.168.154.128:2181
2.5 集成springCloud
- pom.xml中添加springcloud依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
- application.properties中添加springcloud依赖
#指定服务名字 取值任意
spring.application.name=02-eureka-client-consumer
#指定eureka的访问地址
eureka.client.service-url.defaultZone=http://localhost:9100/eureka
2.6 集成springSession
- pom.xml中配置springsession依赖
<!--springsession 与redis应用基本环境配置,需要开启redis后才可以使用,不然启动Spring boot会报错 -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
- application.properties中添加springsession配置
#设置SpringSession的Session声明周期为30m 表示30分钟默认为30m
#server.servlet.session.timeout=30m
#指定Cookie的存放路径为根路径用于实现同域名不同项目的Session共享
#server.servlet.session.cookie.path=/
#指定Cookie的存域名用于实现同根域名不同二级子域名的Session共享
#server.servlet.session.cookie.domain=myweb.com
2.7 集成redis
- pom.xml中添加redis依赖
<!--SpringBoot集成Redis起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
- application.properties中添加redis配置
#设置redis配置
spring.redis.host=192.168.154.128
spring.redis.port=6379
spring.redis.password=123456
2.8 集成druid数据库连接池
- pom.xml中添加druid依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
- application.properties中添加druid连接池配置
# 数据源配置
spring.datasource.druid.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.druid.username=root
spring.datasource.druid.password=root
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
# 初始化时建立物理连接的个数
spring.datasource.druid.initial-size=5
# 最大连接池数量
spring.datasource.druid.max-active=30
# 最小连接池数量
spring.datasource.druid.min-idle=5
# 获取连接时最大等待时间,单位毫秒
spring.datasource.druid.max-wait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 连接保持空闲而不被驱逐的最小时间
spring.datasource.druid.min-evictable-idle-time-millis=300000
# 用来检测连接是否有效的sql,要求是一个查询语句
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
# 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.druid.test-while-idle=true
# 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
spring.datasource.druid.test-on-borrow=false
# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
spring.datasource.druid.test-on-return=false
# 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
spring.datasource.druid.pool-prepared-statements=true
# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=50
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计
spring.datasource.druid.filters=stat,wall
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
# 合并多个DruidDataSource的监控数据
spring.datasource.druid.use-global-data-source-stat=true