总结SpringBoot都整合了哪些资源

 学习了两天的SpringBoot,今天就先总结一下,SpringBoot整合了哪些资源.

1.SpringBoot整合MyBatis

  • 配置mybatis的启动器
        <!--mybatis的启动器--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.1</version></dependency><!--配置jdbc的依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version><!--版本号根据自己安装的mysql版本更改--></dependency>
  • 在application.yml中添加
# mybatis 配置
spring:datasource:url: jdbc:mysql://localhost:3306/mavenusername: rootpassword: smallmingdriver-class-name: com.mysql.jdbc.Driver
# 加载MyBatis的mapper.xml
mybatis:mapper-locations: classpath:mybatis/*.xml

2.SpringBoot整合Druid

  • 配置Druid的启动器
        <!--配置druid的依赖--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency>
  • 在application.yml中添加
spring:datasource:# 使用阿里的Druid连接池type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driver# 填写你数据库的url、登录名、密码和数据库名url: jdbc:mysql://localhost:3306/maven?useSSL=false&characterEncoding=utf8username: rootpassword: smallmingdruid:# 连接池的配置信息# 初始化大小,最小,最大initial-size: 5min-idle: 5maxActive: 20# 配置获取连接等待超时的时间maxWait: 60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1testWhileIdle: truetestOnBorrow: falsetestOnReturn: false# 打开PSCache,并且指定每个连接上PSCache的大小poolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙filters: stat,wall,slf4j# 通过connectProperties属性来打开mergeSql功能;慢SQL记录connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000# 配置DruidStatFilterweb-stat-filter:enabled: trueurl-pattern: "/*"exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"# 配置DruidStatViewServletstat-view-servlet:url-pattern: "/druid/*"# IP白名单(没有配置或者为空,则允许所有访问)allow: 127.0.0.1,192.168.163.1# IP黑名单 (存在共同时,deny优先于allow)deny: 192.168.1.188#  禁用HTML页面上的“Reset All”功能reset-enable: false# 登录名login-username: admin# 登录密码login-password: 123456
mybatis:mapper-locations: classpath:mybatis/*.xml

3.SpringBoot整合PageHelper

  • 配置PageHelper分页插件启动器依赖
<!--配置PageHelper分页插件启动器依赖--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.12</version>
</dependency>
  • 编写代码
//查询所有的用户信息
@Override
public List<User> selUserInfoService(int page,int rows) {//使用PageHelper分页插件完成分页查询PageHelper.startPage(page,rows);//分页查询List<User> list = userMapper.selUserInfoMapper();//创建PageInfo对象存储分页结果PageInfo<User> pageInfo=new PageInfo<>(list);System.out.println(pageInfo.getTotal());System.out.println(pageInfo.getPages());return pageInfo.getList();
}

4.SpringBoot整合logback

  • Spring Boot推荐使用logback作为日志工具。
    直接把logback放在resources就可以生效了。
  • logback.xml 文件
<?xml version="1.0" encoding="UTF-8" ?>
<configuration><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--><property name="LOG_HOME" value="${catalina.base}/logs/" /><!-- 控制台输出 --><appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender"><!-- 日志输出编码 --><layout class="ch.qos.logback.classic.PatternLayout"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></layout></appender><!-- 按照每天生成日志文件 --><appender name="RollingFile"  class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/server.%d{yyyy-MM-dd}.log</FileNamePattern><MaxHistory>30</MaxHistory></rollingPolicy><layout class="ch.qos.logback.classic.PatternLayout"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></layout><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><!-- 日志输出级别 --><root level="info"><appender-ref ref="Stdout" /><appender-ref ref="RollingFile" /></root><logger name="com.bjsxt.mapper" level="DEBUG"></logger><!--日志异步到数据库 --><!--     <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">日志异步到数据库<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">连接池<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"><driverClass>com.mysql.jdbc.Driver</driverClass><url>jdbc:mysql://127.0.0.1:3306/databaseName</url><user>root</user><password>root</password></dataSource></connectionSource></appender> --></configuration>

5.SpringBoot整合JSP

  • 配置SpringBoot整合Jsp依赖
<!--配置SpringBoot整合Jsp依赖--><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency>
  • 如果是jar类型项目需要增加webapp目录

    • ①在项目中新建webapp/WEB-INF目录
    • ②设置工作目录

6.SpringBoot整合Thymeleaf

  • 1.在pom.xml中添加Thymeleaf启动器
        <!--thymeleaf的启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency></dependencies>
  • 2.在resources下新建templates文件夹。新建index.html

  • 3.在application.yml中配置(可以默认不写)
  • 4.Thymeleaf语法
  • ①为了有提示,修改html页面中标签为
<html xmlns:th="http://www.thymeleaf.org" >
  • ②th:text属性
<!DOCTYPE html>
<html lang="en"  xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><span th:text="张三"></span><span th:text="${name}"></span><span th:text="${session.name}"></span>
</body>
</html>
  • ③th:value属性
<!DOCTYPE html>
<html lang="en"  xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><input type="text" th:value="123">
</body>
</html>
  • ④th:if属性
<!DOCTYPE html>
<html lang="en"  xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><span th:if="${name} != 'lisi'">啊实打实的</span><span th:if="${session.name} != 'lisi'">阿斯顿</span>
</body>
</html>
  • ⑤th:each属性
<table border="1" width="500"><tr><td>编号</td><td>姓名</td></tr><tr th:each="u : ${list}"><td th:text="${u.id}" ></td><td th:text="${u.name}"></td></tr>
</table>

7.SpringBoot整合Junit4

  • 配置junit启动器依赖
        <!--配置junit依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency>
  • 编写测试类
//查询所有的用户信息
package com.bjsxt.test;import com.bjsxt.MyApplication2;
import com.bjsxt.mapper.UserMapper;
import com.bjsxt.pojo.User;
import com.bjsxt.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;//告诉SpringBoot使用哪个单元测试工具
@RunWith(SpringJUnit4ClassRunner.class)
//当前类为测试类,classes指定哪个类为启动类
@SpringBootTest(classes = MyApplication2.class)
public class MyTest {@AutowiredUserMapper userMapper;@Testpublic void test() {List<User> list = userMapper.UserMapper();System.out.println(list);}
}

8.SpringBoot整合Quartz

  • 配置junit启动器依赖
        <!--Quartz的启动器--><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency>
  • 新建定时任务
@Component
public class DemoScheduled {@Scheduled(cron="0/2 * * * * *")public void testScheduled(){System.out.println("test scheduled");}
}

9.SpringBoot整合拦截器

  • ①新建拦截器类
@Component
public class DemoInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("执行拦截器");return false;}
}
  • ②配置拦截器
@Configuration
public class MyConfig implements WebMvcConfigurer {@Autowiredprivate DemoInterceptor demoInterceptor;//配置拦截器的映射@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(demoInterceptor).addPathPatterns("/**").excludePathPatterns("/login");}
}

总结SpringBoot都整合了哪些资源相关推荐

  1. Springboot+vue整合

    SpringBoot+Vue实战–博客管理 ​ 这段时间决定自学Vue并使用Springboot框架整合Vue项目.终于,再不懈的努力下,终究完成了一个个人博客系统.基本实现了,个人的添加博客模块,删 ...

  2. Springboot -Shiro整合JWT(注解形式)

    Springboot -Shiro整合JWT(注解形式) 在这里只展示核心代码,具体的请访问github 参考timo 依赖导入 <dependencies><dependency& ...

  3. SpringBoot:整合Redis(概述,数据类型,持久化,RedisTemplate)

    1,Redis概述 1.1,Redis基本概念 在传统的Java Web项目中,使用数据库进行存储数据,但是有一些致命的弊端,这些弊端主要来自于性能方面.比如一些商品抢购的场景,或者是主页访问量瞬间较 ...

  4. 【SpringBoot】22、SpringBoot中整合knife4j接口文档

    在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护 接口文档使得项目开发过程中前后端工程师 ...

  5. SpringBoot服务整合(整合邮件服务、定时调度、Actuator监控)

    在进行项目开发的时候经常会遇见以下的几个问题:需要进行邮件发送.定时的任务调度.系统的监控处理,实际上这些操 作都可以通过 SpringBoot 进行整合操作.2.1.SpringBoot 整合邮件服 ...

  6. springboot下整合各种配置文件

    本博是在springboot下整合其他中间件,比如,mq,redis,durid,日志...等等  以后遇到再更.springboot真是太便捷了,让我们赶紧涌入到springboot的怀抱吧. ap ...

  7. SpringBoot系列九:SpringBoot服务整合(整合邮件服务、定时调度、Actuator监控)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 服务整合 2.背景 在进行项目开发的时候经常会遇见以下的几个问题:需要进行邮件发送.定时的任务调 ...

  8. SpringBoot项目整合Retrofit最佳实践,这才是最优雅的HTTP客户端工具!

    作者:六点半起床 juejin.im/post/6854573211426750472 大家都知道okhttp是一款由square公司开源的java版本http客户端工具.实际上,square公司还开 ...

  9. SpringBoot 2 整合 Spring Session 最简操作

    SpringBoot 2 整合 SpringSession 前言 Spring Session 介绍 SpringBoot 快速整合 Spring Session Spring Session 测试 ...

最新文章

  1. Java面试题大汇总,2021年附答案解析
  2. Javascript绘图
  3. 关于select—页面中的ListBox的Javascript
  4. 新手福利:Apache Spark 入门攻略
  5. oracle查看执行最慢与查询次数最多的sql语句
  6. 【python数字信号处理】——scipy库设计滤波器(IIR为例)、绘制滤波器频谱响应、IIR滤波器滤波、读写wav音频文件
  7. LeetCode 454. 四数相加 II 思考分析
  8. java final 初始化_[转]java static final 初始化
  9. 95-34-035-Context-HeadContext和TailContext
  10. 在我一生中最猥琐的时候遇见你(1)
  11. 有序表,二叉排序树,二叉平衡树平均查找长度比较例题 二叉平衡树的高度
  12. 电脑朋友圈,PC玩朋友圈,真的来了
  13. 阿里云香港服务器怎么样?稳定不稳定?站长现身说法
  14. mybatis-plus乐观锁配置
  15. 【NLP】Pyhon+讯飞开放平台:​手把手带你写一个智能语音播报系统
  16. 数据结构-栈(栈的C语言实现)
  17. 【bzoj1123】BLO
  18. 满头黑发开始_python
  19. 《生命科学50讲》课程笔记10-自由意志
  20. 神奇的物理学(六)量子电动力学的应用

热门文章

  1. 打造一部手机游智慧云服务体系,酷雷曼VR云游上线
  2. 模板学堂丨Zabbix监控告警大屏
  3. 使用Deepxde求解微分方程
  4. python爬虫英文翻译_Python爬虫实现翻译功能
  5. 天天酷跑电脑版代码C语言,Java实现天天酷跑小游戏完整代码(附源码).pdf
  6. 为毛你深陷故障驱动式开发
  7. 【English】音标集训
  8. 别太在意别人的眼光,那会抹杀你的光彩
  9. memcache【命令行参数说明】
  10. mac 菜单栏图标删除_如何重新排列和删除Mac的菜单栏图标