
SpringBoot框架学习
个人学习springboot遇到的问题分享
dan_zhoudan
研究生阶段
展开
-
SpringBoot之整合
一、Java代码方式配置1、2、用java配置来实现连接池配置3、SpringBoot属性注入方式(1)(2)(3)原创 2020-05-29 11:23:19 · 343 阅读 · 0 评论 -
SpringBoot整合德鲁伊Druid数据源
1、配置application.ymlspring: datasource: username: root password: 123456 url: jdbc:mysql://192.168.93.101:3306/jdbc_test?useUnicode=true&characterEncoding=utf-8&relaxAutoCommit=true&zeroDateTimeBehavior=convertToNull&allowMul原创 2020-05-18 10:33:34 · 1615 阅读 · 0 评论 -
SpringBoot2.0以上版本如何定制和修改Servlet容器的相关配置 -- 源码分析(一)
SpringBoot2.0中,配置嵌入式Servlet容器,EmbeddedServletContainerCustomizer 已经被WebServerFactoryCustomizer代替,1.第一种方式:修改配置文件 修改和server有关的配置(ServerProperties) server.port=8081server.context-path=/crudserver.tomcat.uri-encoding=UTF-8//通用的Servlet容器设置ser..原创 2020-05-16 16:13:02 · 666 阅读 · 2 评论 -
Spring Boot与开发热部署
一、热部署在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们希望不重启应用的情况下,程序可以自动部署(热部署)。有以下几种情况,如何能实现热部署。1、模板引擎–在Spring Boot中开发情况下禁用模板引擎的cache–页面模板改变ctrl+F9可以重新编译当前页面并生效2、Spring Boot Devtools(推荐)(1)引入依赖查看Spring官方文档(2)页面模板改变ctrl+F9可以重新编译当前页面并生效..原创 2020-06-11 21:21:02 · 113 阅读 · 0 评论 -
Spring Boot与分布式Dubbo/Zookeeper
一、分布式应用在分布式系统中,国内常用zookeeper+dubbo组合,而Spring Boot推荐使用全栈的Spring,Spring Boot+Spring Cloud。1、分布式服务框架用户模块部署在集群,订单模块也是集群部署;若用户模块需要调用订单模块的数据,那就牵扯到RPC(即远程过程调用)问题。以前,我们可以使用webservice的方式来进行调用,但是这样太麻烦了。我们需要一个RPC框架,即分布式服务框架 => 正式Dubbo,或者Spring Cloud。2、注册原创 2020-06-11 15:18:31 · 230 阅读 · 0 评论 -
SpringBoot与安全SpringSecurity
一、安全Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型。他可以实现强大的web安全控制。对于安全控制,我们仅需引入spring-boot-starter-security模块,进行少量的配置,即可实现强大的安全管理。几个类:WebSecurityConfigurerAdapter:自定义Security策略AuthenticationManagerBuilder:自定义认证策略@EnableWebSecurity.原创 2020-06-11 11:25:19 · 239 阅读 · 0 评论 -
SpringBoot与邮件任务
一、邮件任务1、邮件发送需要引入spring-boot-starter-mail2、Spring Boot 自动配置MailSenderAutoConfiguration3、邮箱设置4、发送简单邮件@RunWith(SpringRunner.class)@SpringBootTestclass SpringbootTaskApplicationTests { @Autowired private JavaMailSenderImpl jav...原创 2020-06-10 10:56:21 · 303 阅读 · 0 评论 -
SpringBoot整合Mybatis -- 注解版
1、引入mybatis-spring-boot-starter<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> &l原创 2020-05-18 15:08:46 · 240 阅读 · 0 评论 -
SpringBoot 源码分析 -- 定制错误响应以及定制错误的json数据
使用工具Postman-win64-5.5.2-Setup.exe 模拟除浏览器外的其他客户端的错误处理机制 自定义一个异常类public class UserNotExitException extends RuntimeException { public UserNotExitException() { super("用户不存在!"); }}自定义错误的Json数据1.自定义异常处理&定制返回的json数据格式:使用 @ControllerAd原创 2020-05-16 13:54:43 · 423 阅读 · 2 评论 -
Thymeleaf 结合SpringBoot 的 CRUD-员工列表(二)
CRUD-员工删除 -- 发送delete请求我的前端页面展示如下:我的html页面代码如下:<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4"> <h2><a class="btn btn-sm btn-success" th:href="@{/emp}">员工添加</a></h2> <div class="table-.原创 2020-05-15 22:57:59 · 302 阅读 · 1 评论 -
Thymeleaf 结合SpringBoot 的 CRUD-员工列表
Thymeleaf 结合SpringBoot 的 CRUD-员工列表实验要求:1)、RestfulCRUD:CRUD满足Rest风格;利用2)、实验的请求架构;URI: /资源名称/资源标识 普通CRUD(uri来区分操作) RestfulCRUD 查询 getEmp emp---GET 添加 addEmp?xxx emp---POST 修改 updateEmp?id=xxx&xxx=xx emp/{...原创 2020-05-15 20:47:27 · 253 阅读 · 0 评论 -
SpringBoot整合Mybatis -- 配置文件版
1、项目资源结构目录2、创建mybatis-config.xml<configuration> <!--驼峰命名--> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <typeAliases> <package name="com.dhu.p原创 2020-05-18 15:34:37 · 677 阅读 · 0 评论 -
初学SpringBoot,整合SpringData JPA,大佬多指教
SpringBoot整合SpringData JPASpringBoot整合SpringData JPA:JPA:ORM(Object Relational Mapping)摘要:Spring Data 项目的目的是为了简化构建基于Spring 框架应用的数据访问技术,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。1、引入starter (pom文件)<dependency> <groupId&g.原创 2020-05-18 16:28:37 · 144 阅读 · 0 评论 -
SpringBoot高级 -- 缓存 -- 自定义CachaManager
1、测试缓存发现使用的是序列化保存对象的方式2、缓存原理原理:默认用的是ConcurrentMapCacheManager==ConcurrentMapCache,缓存组件来实际给缓存中存取数据* 1).引入redis的starter,容器中保存的是RedisCacheManager* 2).RedisCacheManager帮我们创建RedisCache作为缓存组件* 3).默认保存数据k-v都是Object,且利用序列化保存;原创 2020-06-02 20:50:03 · 675 阅读 · 0 评论 -
SpringBoot整合Redis实现缓存
一、redis安装1、使用docker安装redis(1)(2)2、使用RedisDesktopManager连接工具进行测试(1)可以看到edis的16个数据库,成功(2)二、引入redis的starter1、https://docs.spring.io/spring-boot/docs/1.5.12.RELEASE/reference/htmlsingle/<!--引入redis的starter--> <de..原创 2020-06-02 19:41:18 · 1605 阅读 · 0 评论 -
SpringBoot高级 -- SpringBoot与缓存
一、几个重要概念&缓存注解二、搭建基本环境1、SpringBoot整合Mybatis操作数据库(1)配置数据源信息characterEncoding=utf-8&serverTimezone=UTCspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/spring_cache?characte.原创 2020-06-01 20:41:14 · 379 阅读 · 0 评论 -
SpringBoot如何自定义starters
一、starter :场景启动器SpringBoot将每个场景都抽取成一个start,通过引入starts,就能使用到相应的场景功能。即使是这样,SpringBoot也不能囊括开发中所有的场景,我们往往需要自定义starters,来简化对SpringBoot的使用。当我们写好某一个场景的starter,其他开发人员可以直接引用我们写好的starter,而不需要进行过多的配置。二、自定义starters1、准备(1)这个场景需要使用到的依赖是什么?(2)如何编写自动配置我们参考We.原创 2020-06-01 12:56:51 · 254 阅读 · 0 评论 -
Thymeleaf 模板引擎入门案例 结合 SpringBoot框架(二)
Thymeleaf 模板引擎入门案例 结合 SpringBoot框架(二)预期效果:点击侧边栏哪个选项时,该选项高亮做法:引入片段的时候传入参数 th:class="${activeUri == 'main.html'? 'nav-link active':'nav-link'}" <a class="nav-link active" th:class="${activeUri == 'main.html'? 'nav-link active原创 2020-05-14 22:33:43 · 361 阅读 · 0 评论 -
Thymeleaf 模板引擎入门案例 结合 SpringBoot框架
Thymeleaf 模板引擎入门案例 结合 SpringBoot框架开发,一般禁用thymeleaf的缓存spring.thymeleaf.cache=falseController : Thymeleaf默认会拼接字符串 list.html @Controllerpublic class EmployeeController { //查询所有员工返回列表页面 public String list() { //thymeleaf默认...原创 2020-05-14 20:50:44 · 261 阅读 · 0 评论 -
SpringBoot 访问动态资源 Thymeleaf 重复提交表单问题解决思路
SpringBoot 访问动态资源 Thymeleaf 重复提交表单问题解决思路SpringBoot 访问动态资源 Thymeleaf 重复提交表单问题解决思路现象:F5刷新后弹提示框原因分析:登录时发送/user/login post请求,转发到成功页面。当刷新此页面时,还是发送上一次的请求,表单就重复提交了。 解决:防止重复提交的办法:重定向 到成功页面 分析:跳转到的成功页面dashboard.html 需要经过模板引擎的解析,因此需要配置视图映射。registry.addV.原创 2020-05-14 17:37:39 · 880 阅读 · 0 评论 -
SpringBoot访问动态资源 Thymeleaf 模板引擎 ,一些html的设置
什么叫模板引擎 Thymeleaf 就网页结构和模型数据分离,两者交给模板引擎,做种完成页面的渲染springBoot默认不支持jsp Springboot对Thymeleaf的自动配置 ThymeleafAutoConfiguration 自动配置类private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;public static final String DEFAULT_PREFIX = "clas..原创 2020-05-13 15:09:43 · 851 阅读 · 0 评论 -
SpringBoot中的各种注解
1、@ConfigurationProperties它的作用是来获取application.yml / application.properties配置的配置项内容,与 添加了该注解的类或方法 的属性进行绑定。它的生效需要结合@Bean或者 @Component 或者 @EnableConfigurationProperties(1)结合@Bean(2) 结合@Component(3) 结合@EnableConfigurationProperties如果一个配置类只使用了@.原创 2020-05-30 20:53:20 · 289 阅读 · 0 评论 -
SpringBoot事件监听机制之配置
1、SpringBoot启动配置原理 (我们之后的文章中有细讲)2、根据上面的配置原理,配置我们自己的实现类(1)HelloApplicationContextInitializerpackage com.dhu.listener;import org.springframework.context.ApplicationContextInitializer;import org.springframework.context.ConfigurableApplicationConte原创 2020-05-30 15:44:27 · 574 阅读 · 0 评论 -
SpringBoot之数据访问(二) -- 整合JPA
一、Spring Data1、什么是Spring Data它是SpringBoot底层默认进行数据访问采用的技术,是Spring官方开发的用来简化数据访问的项目,包含多种模块。2、简介3、使用Spring DataJPA 模块,操作关系型数据库二、Spring Boot整合SpringData JPA(1)编写一个实体类和数据表进行映射,并且通过JPA注解配置好映射关系使用默认的数据源# 使用默认的数据源spring: datasource: ...原创 2020-05-30 11:26:16 · 213 阅读 · 0 评论 -
SpringBoot之数据访问常用的几种方式详解
一、SpringBoot整合原生JDBC与数据源1、启动mysql,查看进程2、SpringBoot连接数据库(1)application.ymlspring: datasource: username: root password: 123456 url: jdbc:mysql://192.168.93.101:3306/jdbc_test?useUnicode=true&characterEncoding=utf-8&relaxAut原创 2020-05-30 10:04:59 · 1617 阅读 · 0 评论 -
SpringBoot -- 常用注解详解
1、@ConfigurationProperties(prefix = "")作用是告诉SpringBoot将本类中的所有属性和配置文件中相关的属性进行绑定;将配置文件中配置的每一个属性的值,映射到这个组件中。(1) 导入依赖<!‐‐导入配置文件处理器,配置文件进行绑定就会有提示‐‐><dependency><groupId>org.springframework.boot</groupId><artifactId>spri原创 2020-05-29 16:14:04 · 217 阅读 · 0 评论 -
SpringBoot之简化部署操作
1、导入插件这个插件,可以将应用打包成可执行的Jar包<!‐‐ 这个插件,可以将应用打包成一个可执行的jar包;‐‐><build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐maven‐plugin</a原创 2020-05-29 12:02:11 · 155 阅读 · 0 评论 -
超实用 SpringBoot 访问动态资源 Thymeleaf模板引擎 之 html页面缓存问题
超实用SpringBoot 访问动态资源 Thymeleaf模板引擎 html页面缓存问题application.properties禁用thymeleaf的缓存 # 禁用thymeleaf的缓存spring.thymeleaf.cache=false 2. 对于每次htmlshy页面的修改,直接使用 Ctrl + F9 键 ,便可以刷新html页面效果,可查看网页源代码 检查效果 ~~~ QQ:2248745948wechat: HHgood...原创 2020-05-13 16:00:09 · 498 阅读 · 0 评论 -
SpringBoot ×××.properties 中文显示 页面乱码问题解决
springboot 设置 国际化时,页面显示乱码问题:login.properties:login.btn=登录~login.password=密码~login.remember=记住我~login.tip=请登录~login.username=用户名~显示到index.html,效果如下:原因:IDEA 没有编码properties文件,properties里面的中文最终都要转换成ASCII码 ,因此需要对idea进行设置效果: 解决seeting中..原创 2020-05-13 13:17:01 · 390 阅读 · 0 评论 -
SpringBoot2.0 的坑 之 static目录下的css、js资源无法访问到的问题
近日在做springboot的入门demo,发现存放在static下的静态资源(js、css、img)无法访问解决方案:编写MyMvcConfig实现WebMvcConfigurer 接口, /** * 添加静态资源文件,外部可以直接访问地址 * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { .原创 2020-05-13 11:22:21 · 3551 阅读 · 1 评论 -
Intellij IEDA 之 Springboot 热部署 配置 完整图详解
Intellij IEDA 之 Springboot 热部署 配置 -- 完整图详解演示项目为简单的 :使用Spring Initializer快速创建Spring Boot项目如何创建呢?IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目; 选择我们需要的模块;向导会联网创建Spring Boot项目; 默认生成的Spring Boot项目; 主程序已经生成好了,我们只需要我们自己的逻辑 resources文件夹中目录结构 st..原创 2020-05-09 22:16:30 · 227 阅读 · 0 评论