![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springboot
文章平均质量分 73
weixin_43831204
记录每一点进步
展开
-
SpringBoot2.0.X使用Redis连接池Lettuce踩坑
https://www.cnblogs.com/gavincoder/p/12731833.html原创 2021-01-05 18:19:06 · 5219 阅读 · 0 评论 -
@Valid解决无法校验List问题
@Valid解决无法校验List问题1.新建一个类:ValidList,实现List接口import javax.validation.Valid;import java.util.*;public class ValidList<E> implements List<E> { @Valid private List<E> list; public ValidList() { this.list = new Arra.原创 2020-12-25 19:09:20 · 1145 阅读 · 3 评论 -
spring的StopWatch的使用
import org.springframework.util.StopWatch;import java.util.concurrent.TimeUnit;/** * @Auther: wxy * @Date: 2020/12/24 19:52 * @Description: */public class StopWatchTest { public static void main(String[] args) throws InterruptedException {原创 2020-12-24 21:41:23 · 434 阅读 · 1 评论 -
redistemplate 使用lua脚本
需要注意的时,redis集群执行lua操作的时候,要求key值必须要在同一个solt上面,为了达到这个目的,可以在key值中增加“{xx}”内容,这样redis在计算hash槽的时候会按{}内的内容计算hash值;cluster keyslot key redis集群查看key在哪个槽redis pop完所有数据,list 的key会被删除...原创 2020-12-12 21:12:56 · 1710 阅读 · 0 评论 -
springboot排除扫描包
springboot排除扫描包import com.reference.demo.annotation.MyEnableAnnotation;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ComponentScan;im原创 2020-12-08 19:51:25 · 1860 阅读 · 1 评论 -
从AopAutoConfiguration看@ConditionalOnProperty
从AopAutoConfiguration看@ConditionalOnPropertypackage org.springframework.boot.autoconfigure.aop;// 忽略 import 行/** * org.springframework.boot.autoconfigure.EnableAutoConfiguration * Auto-configuration for Spring's AOP support. Equivalent to enabling *原创 2020-12-08 19:48:49 · 255 阅读 · 0 评论 -
注解合并
直接上图看@SpringBootApplication注解这里有个很重要的注解,** @AliasFor**,用于为注解属性声明别名。原创 2020-12-05 10:52:27 · 137 阅读 · 0 评论 -
springboot启动流程
public ConfigurableApplicationContext run(String... args) { //记录程序运行时间 StopWatch stopWatch = new StopWatch(); stopWatch.start(); // ConfigurableApplicationContext Spring 的上下文 ConfigurableApplicationContext context =.原创 2020-12-05 10:15:11 · 108 阅读 · 0 评论 -
@EnableWebMvc使springmvc默认配置失效解决办法
在spring boot中使用@EnableWebMvc 一定要注意的问题!有时我们需要自定义一个spring mvc拦截器或者跨域之类的配置,然后在配置拦截器时会在config类上加上@EnableWebMvc,然而这个注解会带来一个问题,按官方的说法,@EnableWebMvc表示完全自己控制mvc配置,也就是说所有配置自己重写,所有默认配置都没了!有时会导致很多请求进不来,或者参数转换出错之类的,因为spring mvc默认的转换器已经不生效了,包括全局配置的Jackson也会失效,所以在大多数情原创 2020-11-29 16:09:43 · 1052 阅读 · 0 评论 -
秒懂:tomcat的maxConnections、maxThreads、acceptCount 图解
怎么配置tomcat,才能使得自己的服务效率更高呢?首先,这和tomcat的使用的IO模式有关关于Java IO模式、以及IO处理的线程模型等基础的通信框架的知识,是Java程序员的重要、必备的内功,具体请参见尼恩编著的《Netty、Zookeeper、Redis高并发实战》一书,这里不做过多的赘述。其次,也和tomcat的配置参数有关尤其是以下三个配置项:maxConnections、maxThreads、acceptCount。1.4.1 Tomcat的高效配置Tomcat的maxConne转载 2020-11-05 14:27:50 · 664 阅读 · 0 评论 -
基于springboot实现策略模式,并通过yml动态配置
策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。案例定义一个接口package com.reference.demo.Strategy;/** * @Auther: wxy * @Date: 2020/9/24 15:39 * 策略模式 */public i原创 2020-09-26 10:57:00 · 648 阅读 · 0 评论 -
springbootEnvironment获取配置属性
代码:import org.springframework.beans.factory.annotation.Autowired;import org.springframework.core.env.Environment;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * @Authe原创 2020-09-11 11:19:42 · 1233 阅读 · 0 评论 -
分布式情况下本地缓存同步方案
两级缓存数据数据不一致性问题伪代码: @Scheduled(cron = "0 0/3 * * * ? ") public void cacheRoom() { Long start = System.currentTimeMillis(); log.info("Cache room data, execute start :{}", start); RLock lock = redissonClusterClient.getLock(Lo原创 2020-08-27 18:19:45 · 3911 阅读 · 0 评论 -
Springboot通过redisTemplate实现发布订阅
Springboot通过redisTemplate实现发布订阅要点:RedisMessageListenerContainer Redis订阅发布的监听容器,你的消息发布、订阅配置都必须在这里面实现* addMessageListener(MessageListenerAdapter,PatternTopic) 新增订阅频道及订阅者,订阅者必须有相关方法处理收到的消息。* setTopicSerializer(RedisSerializer) 对频道内容进行序列化解析MessageListener原创 2020-08-27 16:50:17 · 3272 阅读 · 0 评论 -
通过Environment 对象读取yml的信息
通过Environment 对象读取yml的信息@RestController@RequestMapping("/myQuery")public class MyQueryController { @Resource private Environment env; @RequestMapping("/test") public void test(){ String url = env.getProperty("spring.datasour原创 2020-08-22 15:22:42 · 755 阅读 · 0 评论 -
@Scheduled创建任务时无法在同一时间执行多个任务的BUG
解决办法加入下面bean: /** * *〈简述〉修复同一时间无法执行多个 定时任务问题 *〈详细描述〉 * @author miaoShijun * @return */ @Bean public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();原创 2020-08-19 11:54:41 · 217 阅读 · 0 评论 -
WebMvcConfigurer接口
https://blog.csdn.net/zhangpower1993/article/details/89016503转载 2020-08-15 11:19:17 · 582 阅读 · 0 评论 -
springboot FilterRegistrationBean
起因以往的javaee配置过滤器是在web.xml中配置的,如下代码:<filter> <filter-name>TestFilter</filter-name> <filter-class>com.example.demo.filter.MyFilter</filter-class></filter><filter-mapping> <filter-name>MyFilter原创 2020-07-15 14:36:46 · 135 阅读 · 0 评论 -
@Bean修饰方法时类型相同
@Configurationpublic class MyConfiguration { @Bean public Animal cat(){ return new Cat(); } @Bean public Animal dog(){ return new Dog(); }}注入用@Resource加上方法名,测试:@RunWith(SpringRunner.class)@SpringBootTest原创 2020-07-14 16:26:04 · 435 阅读 · 0 评论 -
@ConditionalOnBean 与Bean注册优先级
1.Spring Boot注册Bean多种方式,常见的有:直接注册(@SpringBootApplication)、自动配置(classpath:/META-INF/spring.factories)、启用组件(@Enable…)。2.而直接注册、自动配置、启用组件中注册方式通常分为:扫描(@ComponentScan) 和 Java配置方式(@Bean)注册。3.使用Spring Boot时会通常我们会使用 @ConditionalOnBean 做判断,依据某个Bean是否存在而决定是否注册另一个Be原创 2020-07-14 10:56:46 · 1110 阅读 · 0 评论 -
@ComponentScan、EnableFeignClients和@MapperScan注解笔记
@ComponentScan:此注解是用来管理容器中的bean,即是管理项目中类的依赖关系, 注意此注解并不创建类的实例; 默认情况下此注解扫描本工程下的所有包, 但是在springBoot的分布式中如果需要用到别的微服务工程中的实例,那么就要写为如下的形式。注意要加上本工程。 因为当使用 basePackages时,此原创 2020-07-10 16:03:54 · 1139 阅读 · 0 评论 -
controller自定义切面碰到filter和WebMvcConfigurer的执行顺序
filter→WebMvcConfigurer→自己的切面原创 2020-07-09 14:27:43 · 2003 阅读 · 0 评论 -
springboot打印日志和sql
springboot打印日志logging: level: root: INFO com.alibaba.nacos.client.naming: WARN #想打印sql的包的路径,这里用的是mybatisplus com.baomidou.mybatisplus: debug原创 2020-06-24 14:27:44 · 887 阅读 · 0 评论 -
spring boot开启gzip压缩
spring boot开启gzipWeb服务使用Spring Boot2X且运行在Tomcat或者Jetty中,支持gzip压缩可以修改配置文件 application.propertiesserver.compression.enabled=trueserver.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plainserver.compression.min-response-原创 2020-06-24 11:12:55 · 430 阅读 · 0 评论 -
springboot模块拆分,包扫描机制
1.背景:我将应用分成了parent+core+server这种模式,parent是一个单纯的pom文件,存放项目的一些公共依赖;core则是一个没有启动类的SpringBoot项目,存放项目的核心代码,例如model、filter、listener及配置等;server则是一个实际的应用项目,包含一个SpringBoot启动类,提供各种实际的功能。项目结构2.我遇到的问题:...原创 2020-04-01 22:29:38 · 213 阅读 · 0 评论 -
springboot自定义starter
@Configuration一般被用来初始化配置,有两种方法可以使带有@Configuration的类被初始化,一为让把类所在包的路径纳入scanBasePackages,这样就进入了Spring的扫描范围;还有一种方法就是在spring.factories中用org.springframework.boot.autoconfigure.EnableAutoConfiguration=类的全路径名...原创 2020-12-05 15:46:50 · 46 阅读 · 0 评论