springboot
架构师的小跟班
这个小伙好懒,啥都没写
展开
-
spring在加@Transactional的方法中使用redis取值为空的问题
参考博客:https://blog.csdn.net/qq_34021712/article/details/79606551http://www.kaysonlv.com/%E8%AF%B4%E8%AF%B4redis-data-redis%E4%BA%8B%E5%8A%A1%E7%9A%84%E4%BD%BF%E7%94%A8.htmlhttps://my.oschina.net/u/1168037/blog/967685事务的过程分为三个步骤切换事务模式事务入队列执行事务redis转载 2020-12-12 00:00:08 · 2480 阅读 · 2 评论 -
shiro 开启 @RequiresRoles, @RequiresPermissions 注解
首先说明,本文springboot 整合 shiro,使用的是starter,shiro-spring-boot-web-starter如果使用这个starter,shiro 已经默认开启了 @RequiresRoles, @RequiresPermissions 注解支持,不需要在shiroConfig 中配置了所以,你不需要以下配置了: /** * 开启Shiro注解(如@RequiresRoles,@RequiresPermissions), * 需借助SpringAO原创 2020-12-03 09:06:41 · 1421 阅读 · 0 评论 -
springboot 整合 shiro (Web Applications)避坑一 ,请看shiro官网
避坑一异常打印org.apache.shiro.UnavailableSecurityManagerException:No SecurityManager accessible to the calling code,either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton.This is an invalid application configuration.在网上找了各种教程寻原创 2020-12-03 08:49:23 · 260 阅读 · 0 评论 -
SpringBoot——开启Druid监控统计功能(SQL监控、慢SQL记录、Spring监控、去广告)
参考:github#Druid源码github#druid-spring-boot-starter源码Druid Wikispringboot#data-properties参考博客SpringBoot+Druid+mybatis+log4j2+mysql81 基本概念Druid 是Java语言中最好的数据库连接池。虽然 HikariCP 的速度稍快,但是,Druid能够提供强大的监控和扩展功能,也是阿里巴巴的开源项目。Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能、性原创 2020-08-11 20:42:21 · 22515 阅读 · 4 评论 -
log4j2打印JdbcTemplate的sql及其参数
1 看源码org.springframework.jdbc.core包下面的所有类,输出debug级别的日志org.springframework.jdbc.core.JdbcTemplate 类,输出debug级别的日志org.springframework.jdbc.core.StatementCreatorUtils类,输出trace级别的日志直接看源码/org/springframework/jdbc/core/JdbcTemplate.classpublic cla原创 2020-08-09 23:29:03 · 3710 阅读 · 1 评论 -
SpringBoot2.x 整合JDBC与数据源的配置原理
目录1 基本概念1.1 JDBC1.2 数据源2 整合步骤2.1 引入JDBC的Starter2.2 引入连接数据库的驱动2.3 配置数据源(默认HikariCP)2.3.1 数据源完整配置项表2.3.2 使用其他数据源(Druid)(1)排除默认数据源(2)引用 阿里巴巴的Druid数据源(3)配置Druid数据源3 数据源的自动配置原理(以hikari为例)3.1 单元测试及其结果3.2 原理解析3.2.1 数据源的导入配置(1)hik原创 2020-08-09 07:40:04 · 962 阅读 · 0 评论 -
SpringBoot——外置Servlet容器启动SpringBoot应用的原理
1 前言1.1 内嵌servlet 容器的情况下1.2 在外置servlet容器的情况下1.2.1 启动流程(以Tomcat为例)1.2.2 ServletContainerInitializer 接口2 外置Tomcat启动SpringBoot的流程原理2.1 Tomcat 启动2.2 根据Servlet3.1规范,找到ServletContainerInitializer的实现,进行实例化2.3 SpringServletContainerInitializer 类2..原创 2020-08-05 01:39:37 · 611 阅读 · 0 评论 -
SpringBoot——使用外置的Tomcat服务器
1 前言2 修改步骤2.1 修改打包方式(jar -> war)2.2 排除 SprignBoot的Web模块中的Tomcat依赖2.2.1 将嵌入的Tomcat依赖方式改成 provided2.2.2 直接排除Web模块中的Tomcat依赖2.3 修改启动类,并重写初始化方法2.3.1 官方文档的写法2.3.2 我的写法3 生成 webapp 目录4 部署到外部的Tomcat容器4.1 打成 war 包4.2 浏览器验证1 前言Spring..原创 2020-08-02 00:40:28 · 1297 阅读 · 0 评论 -
SpringBoot——替换嵌入式的Servlet容器
SpringBoot官方文档——Use Another Web Server1 前言SpringBoot 的Web模块默认使用 Tomcat作为内嵌的Servlet容器,同时,SpringBoot还支持Jetty、Undertow等Servlet容器。tomcat、undertow、jetty性能对比Tomcat:是最稳定的服务器,而不是网上各种博主说的Undertow更优。Jetty:更适合长连接的服务,但是长连接我更倾向于选择Jetty。Undertow:更适合用于IO密集型服务器,或者原创 2020-07-31 23:51:54 · 614 阅读 · 0 评论 -
SpringBoot——嵌入式Servlet容器自动配置原理以及启动原理
0 嵌入式Servlet容器自动配置原理以及启动原理的步骤1 嵌入式Servlet容器自动配置原理(以Tomcat为例)1.1 简单介绍2 嵌入式Servlet容器启动原理(以Tomcat为例)2.1 SpringBoot启动时,启动Tomcat的原理2.2 嵌入式的Servlet容器工厂创建tomcat容器,初始化并启动容器2.2.1 嵌入式Servlet容器工厂的自动配置类1> 注册后置处理器(WebServerFactoryCustomizerBeanPostPro..原创 2020-07-31 22:26:51 · 655 阅读 · 0 评论 -
SpringBoot——配置嵌入式Servlet容器
1 嵌入式的Servlet 容器1.1 SpringBoot官方文档——嵌入式Web服务器SpringBoot 的web模块默认 使用 Tomcat 作为嵌入式的 Servlet 容器如果是外部的Tomcat 服务器,我们想要修改Tomcat的配置,可以直接修改 /conf 目录下的server.xml配置文件。既然是内嵌的Tomcat 服务器,我们就无法直接修改 /conf 目录下的server.xml配置文件了。要想修改Servlet容器相关的配置,在SpringBoot中有两种方式可供选择原创 2020-07-24 23:24:34 · 299 阅读 · 0 评论 -
SpringBoot 错误处理机制的简单理解
1 默认的错误响应结果2 默认的错误处理机制2.1 步骤2.2 原理2.1.1 ErrorPageCustomizer2.2 BasicErrorController2.3 DefaultErrorAttributes2.4 、DefaultErrorViewResolver3 自定义错误页面3.1 不转发到 /error ,自定义异常处理和返回定制的json数据3.2 转发到 /error 进行自适应响应效果处理1 默认的错误响应结果不同的客户端,响应的结果不同..原创 2020-07-24 00:11:05 · 439 阅读 · 0 评论 -
SpringBoot —— 国际化理解
1 国际化信息理解2 官方解释2.1 Spring 官方解释2.2 SpringBoot 官方解释3 通过request参数转换网页的语言3.1 原理3.2 步骤3.2 实现代码1 国际化信息理解国际化是什么,简单地说就是,在不修改内部代码的情况下,根据不同语言及地区显示相应的语言界面国际化信息也称为本地化信息。Java 通过 java.util.Locale 类来表示本地化对象,它通过 “语言类型” 和 “国家/地区” 来创建一个确定的本地化对象 。java.ut..原创 2020-07-18 13:48:29 · 461 阅读 · 0 评论 -
SpringBoot —— 静态资源映射规则
SpringBoot —— 静态资源映射规则1 官方文档的描述2 静态资源映射规则2.1 对哪些目录映射?2.2 目录映射 的理解2.3 为什么是这些目录?2.3.1 看源码2.3.2 分析的结论3 欢迎页(index.html)映射规则3.1 官方描述(默认首页)3.2 看源码3.3 分析的结论4 网站图标(favicon.ico)4.1 在2.2.X以上版本的改变4.2 用法SpringBoot —— 静态资源映射规则Spring..原创 2020-07-14 17:33:40 · 283 阅读 · 0 评论 -
found character ‘%‘ that cannot start any token. (Do not use % for indentation)
yml 配置文件# 调整 某个 类 的日志级别logging: level: com.springboot.template.ApplicationDemoTest: trace pattern: # 指定 控制台和文件 的输出格式 console: %d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n file: "%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %lo原创 2020-07-11 16:34:19 · 2685 阅读 · 0 评论 -
SpringBoot —— 日志框架
SpringBoot —— 日志框架一、类比 JDBC—数据库驱动的架构(门面设计模式)1. 在我们开发应用的场景中,需要用到很多jar包,而这些包又有自己的日志框架那么,如何实现便捷的切换日志记录框架?解决:首先,写了一个统一的接口层 SLF4J,作为日志门面(日志的一个抽象层),例如:logging-abstract.jar;想用哪个日志框架(实现了日志门面接口),就给项目中导入具体的日志实现就行了;如果不能直接作为 SLF4J 的日志实现,例如:log4j,可以在中间使用一个适配层原创 2020-07-11 01:20:38 · 435 阅读 · 0 评论 -
SpringBoot —— 配置文件的加载顺序
为啥?每套环境都有自己的配置和数据库配置,难道我们每次打包到不同环境都要修改完配置文件再打包?开发的时候再一个一个改回来?答案当然是:No Way。一、SpringBoot配置文件的加载顺序1、项目内 配置文件加载顺序SpringBoot项目启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件,具体的目录位置见下图:file:./config/ ( 项目根路径下的config文件夹)file:./原创 2020-07-10 01:47:01 · 713 阅读 · 0 评论 -
SpringBoot —— 运行环境切换(多 profiles 文档)
SpringBoot ———— 运行环境切换(多 profiles 文档)SpringBoot 的一个应用为了在不同的环境下工作,常常会有不同的配置,代码逻辑处理。Spring Boot 对此提供了简便的支持: @Profile、spring.profiles.active我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置sp原创 2020-07-10 01:44:01 · 470 阅读 · 0 评论 -
SpringBoot 注册 Bean
注册bean (加入Spring的IOC容器)使用@ImportResource 注解,导入Spring的配置文件(.xml)或者使用@Bean 注解 (推荐)一、导入Spring的配置文件(.xml),来注册beanSpringBoot 里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;想让Spring的配置文件生效,就加载进来作用:导入Spring的配置文件,让配置文件里面的内容生效注意:虽然springboot支持这种写法,但建议使用@B原创 2020-07-09 23:26:39 · 402 阅读 · 0 评论 -
SpringBoot 的 配置文件 值 注入bean属性
springboot —— 配置文件注入一、配置文件配置文件springboot 使用一个 全局配置文件 (配置文件的名称是固定的application)application.properties (默认的配置文件)或者application.yml (yml语法简洁,推荐)注意:properties 和 yml 文件同时存在时,会默认加载 application.properties配置文件的作用:修改SpringBoot自动配置的默认值;Spri原创 2020-07-09 23:24:26 · 1063 阅读 · 0 评论