
spring-boot
文章平均质量分 50
轻尘×
一念起,千山万水;一念灭,沧海桑田;生活,或许本该就有诸多遗憾;那些情,已散落天涯,那些未说完的话、未叙完的故事,终将被流年吹散
展开
-
spring扩展之基于HandlerMapping实现接口灰度发布的demo
新增一个自定义注解,用来标注接口的适配的版本号,默认为1.0版本/*** 自定义版本号注解*/}自定义HandleMapping,继承spring家的HandleMapping,并重写两个getCustomTypeCondition方法@Override= null?}}/*** 注册自定义的 ApiVersionHandleMapping*/@Override}}原创 2022-12-21 18:10:34 · 849 阅读 · 1 评论 -
springboot自定义starter实践
仿照spring的规范,artifact命名为xxx-spring-boot-starter。原创 2022-11-25 12:19:58 · 950 阅读 · 0 评论 -
es多字段模糊匹配wildcardQuery,java实现
es 版本:7.10.1spring-cloud版本:2.3.5.RELEASEspring-boot-starter-data-elasticsearch 版本 2.3.12.RELEASEspring-data-elasticsearch 版本 4.0.9.RELEASEes查询,需求:title或者content任意一个字段能匹配到关键词即可。原创 2022-11-22 18:01:44 · 6963 阅读 · 0 评论 -
记一次failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried:ConnectE解决过程
编码无小事,切不可粗心大意。原创 2022-11-21 10:52:06 · 24910 阅读 · 3 评论 -
动手搭建一个三个节点的eureka集群
搭建一个三个节点的eureka集群。原创 2022-07-19 18:18:27 · 715 阅读 · 0 评论 -
Spring中@Autowired注解装配流程
众所周知,Autowired注解是通过AutowiredAnnotationBeanPostProcessor来解析的第一个问题AutowiredAnnotationBeanPostProcessor在哪里注册的?过程比较复杂,在使用xml和注解不同的场景中,略有不同,具体可以参考如下文章:xml开发方式下AutowiredAnnotationBeanPostProcessor的注册时机https://blog.csdn.net/leisure_life/article/details/125570942?原创 2022-07-02 16:31:09 · 922 阅读 · 0 评论 -
注解开发方式下AutowiredAnnotationBeanPostProcessor的注册时机
写一个测试方法,new的是AnnotationConfigApplicationContext ,指定basePackages进this()里面会new一个AnnotatedBeanDefinitionReader new AnnotatedBeanDefinitionReader()的过程中,有一行与众不同的代码继续跟进 正是在这个方法内,把AutowiredAnnotationBeanPostProcessor的注册到了Set中 在使用xml方式...原创 2022-07-02 13:54:36 · 332 阅读 · 0 评论 -
xml开发方式下AutowiredAnnotationBeanPostProcessor的注册时机
AutowiredAnnotationBeanPostProcessor是实现@Autowired的关键,它本身是在何时添加到sping容器中的?在使用xml方式开发的过程中,我们程序入口一般是ClassPathXmlApplicationContext创建ClassPathXmlApplicationContext时,会调用this构造函数 在构造函数中调用父类构造函数,完成一些属性的加载,以及配置文件路径的解析工作,然后进入正题——refresh() 在核心的refresh()方法中,有一个步骤是原创 2022-07-02 13:43:38 · 373 阅读 · 0 评论 -
springboot中内置tomcat什么时候创建的,又是什么时候启动的?
与spring和springboot相关的重要逻辑,如果想了解源头在哪,找refresh准没错启动类,run一路run直到refreshContext(context) 走到ServletWebServerApplicationContext#refresh()其实调用还是super.refresh(),也就是AbstractApplicationContext的refresh,再调用onRefresh()然后又回调回了ServletWebServerApplic原创 2022-06-29 08:56:31 · 534 阅读 · 0 评论 -
SpringBoot中spring.factories在哪里被加载的
Spring 自 3.2 引入 spring.factories SPI 后并没有真正的利用起来,使用的地方比较少,然而真正把 spring.factories 发扬光大的是在 Spring Boot 中 那在springboot中,spring.factories什么时候被加载的呢,里面的类又是什么时候被实例化的呢?从一个普通的springboot项目的main方法进去 就是这里,一个读取里面的类全限定性类名,然后进行实例化。 循环遍历,逐一初始化,用的是java的反射机制反射, forName..原创 2022-06-27 13:43:29 · 1143 阅读 · 0 评论 -
springboot官方修复 Apache Log4j任意代码执行漏洞修复 spring-boot-starter-log4j2
Log4j2爆出的史诗级漏洞,springboot官方怎么可能没有动作呢?意思就是不需要那么多花里胡哨的,只需要在properties中配置一下,指定log4j的 版本即可<properties> <log4j2.version>2.15.0</log4j2.version></properties>落实到项目就是:构建的版本如下:...原创 2021-12-11 14:53:02 · 4643 阅读 · 0 评论 -
ShiroConfig完整配置案例
package cn.com.suntree.treetask.config;import cn.com.suntree.common.ding.model.DingUserDo;import cn.com.suntree.common.entity.SysUser;import cn.com.suntree.common.entity.returnvo.PowerVo;import cn.com.suntree.common.entity.returnvo.RoleVo;import cn.原创 2020-09-04 09:33:55 · 1320 阅读 · 0 评论 -
IDEA中查看基于maven构建的springboot的项目依赖关系
mvn dependency:tree > dependency.txt项目根目录:完整依赖关系:[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building the effective model for cn.com.suntree.utils:suntree-utils:jar:0.0.1-SNAPSHOT[WARNING] 'dependenci原创 2020-06-05 09:53:57 · 2546 阅读 · 0 评论 -
spring boot 的@Scheduled定时任务,同一时间段的定时任务只会执行一个,其余的会被阻塞等待
查看源码发现默认线程池中只有一个线程,只能挨个执行,解决方法线程池多加几个线程,启动项类中加入如下配置@Bean public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.setPoolSize(50);// 自定义线程个数 return taskSchedu原创 2020-05-12 15:00:22 · 3343 阅读 · 1 评论 -
spring boot +redis 连接池配置 及运用
连接池参数,正式环境配置在yml文件中package cn.com.suntree.utils.myself;import lombok.extern.log4j.Log4j2;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.cache.annotation.Cachin...原创 2020-03-07 15:44:47 · 1192 阅读 · 0 评论 -
shiro自定义AuthenticationToken适应多认证条件
一般的登陆只需要校验账号和密码两个要素Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken( user.getAccNum(), user.getPasswd());...原创 2020-03-06 15:45:40 · 8887 阅读 · 4 评论 -
spring boot整合redisTemplate获取自增主键incr
@Autowired RedisTemplate redisTemplate; public Long incr(String key, long liveTime) { RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory())...原创 2019-09-26 18:49:02 · 15944 阅读 · 0 评论 -
MyBatis-Plus 批量插入
spring boot+mybatis plus环境,单条插入用的是BaseMapper自带的insert方法public ApiResult addAnc(Anc anc) { ApiResult result = new ApiResult(); Integer insert = ancMapper.insert(anc); if...原创 2019-08-09 18:51:35 · 146980 阅读 · 30 评论 -
自定义shiro中RedisSessionDAO的keyPrefix
shiro中原始的RedisSessionDAO如下,keyPrefix为shiro_redis_session:,某些情况下需要自定义这个值//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package org.crazycake....原创 2019-07-05 19:28:25 · 5913 阅读 · 4 评论 -
spring boot Scheduled动态配置
package cn.com.suntree.cmp.service;import cn.com.suntree.cmp.utils.CommonUtil;import lombok.extern.log4j.Log4j2;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factor...原创 2019-04-15 18:23:50 · 3745 阅读 · 0 评论 -
使用Jasypt对SpringBoot配置文件加密(部署时操作)
上篇介绍了如何使用jasypt对配置文件中的敏感信息进行加密——Spring Boot加密应用配置文件敏感信息(jasypt)但那只适合开发环境那么操作,因为jasypt是可逆的,如果知道了加密的salt,就能解出密码,而如果将salt配置在配置文件中,就如给门上了锁又把钥匙插在锁孔,毫无安全意义解密API@Test public void testDecrypt() { String...原创 2019-01-29 15:21:45 · 1374 阅读 · 0 评论 -
Spring Boot加密应用配置文件敏感信息(jasypt)
maven依赖&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.github.ulisesbocchio&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jasypt-spring-boot-starter&amp;lt;/artifact原创 2019-01-26 10:27:24 · 726 阅读 · 0 评论 -
template might not exist or might not be accessible by any of the configured Template Resolvers
并没有使用thymeleaf模板……再三检查后发现这个Controller上的注解是@Controller而不是@RestController关于这两个注解的区别请参考@Controller和@RestController的区别?可能该Controller有方法需要用@Controller,解决方法再建一个Controller,加上@RestController16:49:47.908 [...原创 2019-01-09 17:00:02 · 1094 阅读 · 0 评论 -
springboot耗时操作启用多线程
耗时操作启用多线程 private final static Executor executor = Executors.newCachedThreadPool();executor.execute(new Runnable() { @Override public void run() { //另起线...原创 2018-11-29 20:24:52 · 2134 阅读 · 1 评论 -
Cron在线表达式生成器
Cron在线表达式生成器比较复杂的cron表达式可以借助工具生成哦Cron在线表达式生成器: http://www.pppet.net/.转载 2018-10-28 11:48:21 · 15092 阅读 · 1 评论 -
spring boot aop记录接口调用情况
引入依赖<!-- 引入aop--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>定义日志实体原创 2018-09-25 18:23:21 · 3457 阅读 · 0 评论 -
spring boot 整合redis+shiro在自定义Realm不能使用@Autowired注解
刚开始spring boot 整合shiro缓存使用的是ehcache,自动注入userService如下,没有问题@Autowired@Lazyprivate SysUserService userService;当将缓存换成了redis后,该注解无效,一直空指针,大概是因为 Spring 加载顺序等原因 解决方案是在自定义Realm中不直接使用@Autowired,而是将user...原创 2018-09-13 15:02:23 · 2145 阅读 · 2 评论 -
Required Integer[] parameter 'copyIDs' is not present spring boot 请求中包含数组参数
spring boot 请求中包含数组参数 一开始接口定义成这样 public ApiResult creMission(@RequestBody Mission mission,@RequestParam Integer[] copyIDs)请求参数是这样{ "missionTitle": "新增任务测试", "missionContent": "原创 2018-09-10 15:52:11 · 9465 阅读 · 3 评论 -
The type org.springframework.context.ConfigurableApplicationContext cannot be resolved. It is indire
新构建一个项目 出现如下异常 The type org.springframework.context.ConfigurableApplicationContext cannot be resolved. It is indirectly referenced from required .class filesThe type org.springframework.context.Co...原创 2018-09-02 14:42:40 · 3237 阅读 · 1 评论 -
Spring Boot : Whitelabel Error Page
Spring Boot : Whitelabel Error Page解决方案新搭建的Spring Boot,maven工程 pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3...原创 2018-06-29 18:14:07 · 736 阅读 · 0 评论 -
五分钟搭建简单的spring boot项目
搭建简单的spring boot项目前提:安装jdk(最好1.8)、安装maven(apache-maven-3.5.0)、Eclipse 第一步: 官网配置maven工程:http://start.spring.io/ 填写包名、项目名等基本信息 下载maven工程 点击Generate Project,就会自动下载一个包含maven工程的压缩文件 第二部导入工程 找到下载...原创 2018-06-29 18:08:29 · 381 阅读 · 0 评论 -
Spring Boot属性文件application.properties配置文档(全部)
官网地址:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.htmlThis sample file is meant as a guide only. Do not copy/paste the entire content into your applicati转载 2017-10-16 21:05:41 · 735 阅读 · 0 评论 -
spring boot 开发环境禁止热启动
在pom.xml中配置了如下,spring boot 就会做一些开发时的优化,比如默认禁止缓存、默认支持热启动等<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optiona原创 2017-10-13 14:11:19 · 878 阅读 · 0 评论 -
SpringBootApplication等价于 @Configuration @EnableAutoConfiguration @ComponentScan
许多Spring Boot开发人员总是使用@Configuration,@EnableAutoConfiguration和@ComponentScan来标注它们的主类。 由于这些注解经常一起使用(特别是如果您遵循之前说的最佳实践),Spring Boot提供了一个方便的@SpringBootApplication注解作为这三个的替代方法import org.springframework.boot.原创 2017-10-13 13:57:30 · 1887 阅读 · 0 评论 -
Spring Boot中文文档
Spring Boot中文文档 来自开源中国上的大神翻译,仅供参考!Spring Boot中文文档——翻译基于1.5.2.RELEASE链接:https://my.oschina.net/geekidentity/blog/872888 英文文档地址:https://docs.spring.io/spring-boot/docs/current/reference/pdf/spring-boot-r转载 2017-10-13 13:45:21 · 9817 阅读 · 0 评论 -
Spring boot 入门程序详解
创建一个最简单的spring boot工程,能跑起来的最简单代码如下:@RestController@EnableAutoConfigurationpublic class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void原创 2017-10-13 10:35:33 · 338 阅读 · 0 评论 -
vue+spring boot(二)多条【json格式】
大致流程,加载页面时,发送get请求获取数据,使用数据渲染页面 获取的是List,在控制层转换成了json格式的字符串,所以在前端需要在转换成数组前端代码核心部分<div class="main" id="users"> <table> <thead> <tr>原创 2017-09-30 15:31:58 · 1377 阅读 · 0 评论 -
vue+spring boot(一)单个数据【json格式】
pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/PO原创 2017-09-30 15:16:15 · 2347 阅读 · 2 评论 -
Cannot determine embedded database driver class for database type NONE
构建spring boot工程出现如下错误 Cannot determine embedded database driver class for database type NONE 原因: 我在pom.xml中配置了数据库相关jar,所以springboot启动时会自动注入数据源,但我却没有配置数据源 因为是测试项目,暂时不打算配置数据源 解决方法 在@SpringBootApp原创 2017-09-30 10:31:44 · 491 阅读 · 0 评论 -
Consider defining a bean of type 'com.xxx.service.impl.xxxImpl' in your configuration
面向接口编程,把Service层定义为接口,然后用另外一个类去实现这个接口,使用spring boot启动时报错 项目结构: controller层注入如下@Autowiredprivate UserServiceImpl userService;错误详情Error starting ApplicationContext. To display the auto-configuration原创 2017-09-30 10:16:32 · 6707 阅读 · 1 评论