@EnableXX注解的使用场景 SpringBoot为开发人员提供了很多便利,例如如果想要定时功能,只要添加@EnableSchedule,即可配合@Schedule注解实现定时任务功能,不需要额外配置定时任务的处理线程,就可以直接使用(框架提供默认配置,在找不到用户自定配置的执行器时,使用默认配置) @EnableXXX注解给人的感觉就是有一个"开关",只要开关打开就可以对应的功能,非常方便. 有时候,我们可能也想实现一个功能,打包发布后,其他项目只要引入依赖,添加@Enable注…
买买买结算系统 一年一度的双十一购物狂欢节就要到了,又到剁手党们开始表演的时刻了.当我们把种草很久的商品放入购物车以后,点击"结算"按钮时,就来到了买买买必不可少的结算页面了.让我们虚拟一个买买买结算系统,为结算页面提供商品.促销.库存等结算信息,就此系统展开如何在SpringBoot项目中集成CAT调用链.买买买结算系统包含以下4个项目: 结算UI:为前端页面提供结算的基础数据. 购物车API:获取用户购物车中有哪些商品. 商品API:获取商品详细信息 商品促销API:获取商品的促销…
maven resource 组件可以把pom的变量替换到相关的resouces目录中的资源文件变量 示例项目:内容中心 (文章管理)  生成jar包,生成docker ,生成k8s文件 1.项目结构 ├── content-api │   ├── pom.xml │   └── src │   ├── main │   │   └── java │   │   └── com │   │   └── itstudy │   │   └── content_api │   │   ├── dom…
1 QueryDSL介绍 1.1 背景 QueryDSL的诞生解决了HQL查询类型安全方面的缺陷:HQL查询的扩展需要用字符串拼接的方式进行,这往往会导致代码的阅读困难:通过字符串对域类型和属性的不安全引用又是HQL面临的问题. 随着类型安全的域模型给软件开发带来的巨大好处,域的更改可以直接反应在查询上,而且随着域的更改查询也会自动随着改变.(即:同一套查询,只需要通过改变域就可以实现不同的查询) 针对Hibernate的HQL是Querydsl的第一个目标语言,但现在它支持JPA,JDO,JD…
在SpringBoot项目中添加logback的MDC     先看下MDC是什么 Mapped Diagnostic Context,用于打LOG时跟踪一个“会话“.一个”事务“.举例,有一个web controller,在同一时间可能收到来自多个客户端的请求,如果一个请求发生了错误,我们要跟踪这个请求从controller开始一步步都执行到了哪些代码.有哪些log的输出.这时我们可以看log文件,但是log文件是多个请求同时记录的,基本无法分辨哪行是哪个请求产生的,虽然我们可以看线程,但线程…
在学习的时候常建新的项目,mark下商用的jar <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.0</version></dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-ja…
在 springboot 项目中使用 @SpringBootApplication 会自动标记 @EnableAutoConfiguration 在接口中经常需要使用时间类型,Date ,如果想要格式化成指定格式需要在 application.yml 配置文件中配置 spring: jackson: date-format: yyyy-MM-dd HH:mm:ss.SSS time-zone: GMT+ defaultPropertyInclusion: non_null #非空属性才序列化 d…
springboot静态文件访问的问题,相信大家也有遇到这个问题,如下图项目结构. 项目结构如上所示,静态页面引入js.css如下所示. 大家肯定都是这样写的,但是运行的话就是出不来效果,图片也不显示.原因是因为springboot项目中的一个配置文件spring.mvc.static-path-pattern=/** 指的是/static/下的文件,修改过后如下,图片显示成功. 经过修改,这个简单的静态文件引入就可以使用了.详细方法:https://blog.csdn.net/catoop/a…
1.错误场景: springboot项目中在.properties文件(.yml)文件中配置了属性值,在Bean中使用@Value注解引入该属性,Bean的构造器中使用该属性进行初始化,此时有可能会出现属性值为null,造成初始化程序的错误 2.错误原因: 因为Bean的构造器调用是在@Value属性赋值之前进行的,所以造成了属性还没有赋值,就被调用的情况. 3.解决方案: 将构造器中需要使用的@Value属性作为构造器的参数,确保构造器中使用该属性之前,属性已经得到初始化 理论先行,代码跟上(…
1. 剔除要引入的springboot项目中不需要的文件:如Application和ApplicationTests等 2.打包 不能使用springboot项目自带的打包插件进行打包: 3.打包 4.启动类引入 在Application启动类@SpringBootApplication(scanBasePackages = {"依赖的项目的class路径", "自己项目的class路径"}) 5.在pom中引入 在你的项目的pom.xml中引入你刚刚打包好的项目,…