
Spring
Spring技术积累
liuyuinsdu
这个作者很懒,什么都没留下…
展开
-
log4j2漏洞修复
一、【紧急补救措施】(1)修改jvm参数-Dlog4j2.formatMsgNoLookups=true (2)修改配置log4j2.formatMsgNoLookups=True(3)将系统环境变量FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true首先修改supervisor的配置文件增加环境变量遍历一下日志文件,看看是否有攻击没有人攻击,很好二、修改依赖库【影响范围】:Java类产品:...原创 2021-12-12 10:37:15 · 3413 阅读 · 0 评论 -
反射调用get和set方法
Introspector和PropertyDescriptor关于这两个类的详细介绍,我这里就不说了,简单的理解就是对象信息的描述,里面提供了一些API方便我们拿到对象的信息直接上代码吧Object arg0 = joinPoint.getArgs()[index];List<Field> fields = Arrays.stream(arg0.getClass().getDeclaredFields()).filter(f -> { String name = f原创 2021-11-03 17:59:02 · 846 阅读 · 0 评论 -
springboot不加载环境配置文件application-dev.yml
问题描述:程序运行时指定了spring.profiles.active=qc环境参数,但是还是加载不上application-dev.yml配置文件,一开始以为是代码配置问题,增加--debug=true后发现程序根本没有加载application-dev.yml配置文件。无奈之下反编译jar包发现问题原因,jar包里根被没有打包进去环境配置文件然后检查mvn配置文件发现原因原来的配置只把application.yml打包进去,没打包其他配置文件,修改为*后问题解决...原创 2021-08-11 11:44:40 · 5433 阅读 · 0 评论 -
SpringBoot 和 Cloud里存在多个main函数导致无法启动问题
一开始使用springboot注解时没有报错。@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DynamicDataSourceAutoConfiguration.class})但是更换为@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DynamicDataSourceAutoConfiguration.cla原创 2021-07-15 08:55:44 · 558 阅读 · 0 评论 -
idea指定启动参数、环境变量
1. 点击Edit Configurations2# VM Arguments 是设置的虚拟机的属性# VM options# 环境变量参数 这里需要指定-D参数-server -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=1024m -Dfile.encoding=UTF-8# Program arguments的值作为args[] 的参数传入的# Environment variable 环境变量...原创 2021-03-10 21:02:19 · 2873 阅读 · 0 评论 -
nacos discovery 配置 server-addr 域名时候不能正常解析
版本:0.2.2.Releasenacos discovery 配置 server-addr 域名时候不能正常解析The nacos discovery configuration server-addr domain name cannot resolve properly比如配置: server.addr=http://dev.nacos.com会被解析成http://dev.nacos.co原因在于spring-cloud-alibaba/spring-cloud-alibaba-n原创 2021-03-10 08:36:34 · 6293 阅读 · 3 评论 -
Springboot 命令注入属性[--]&[-D]
场景在用Jenkins,做自动化部署时,遇到一些命令问题。需要通过命令的形式,注入些业务值。-D 系统属性注入Java,启动jar 命令:java [ options ] -jar file.jar [ arguments ]Java HotSpot VMs针对,当前运行时环境,提供了一套调准的options-Dproperty=value-Dproperty=valueSets a system property value.If value is a string转载 2021-03-04 09:09:27 · 280 阅读 · 1 评论 -
java动态代理实现与原理详细分析
很透彻https://www.cnblogs.com/gonjan-blog/p/6685611.html转载 2021-03-03 08:37:38 · 88 阅读 · 0 评论 -
dependencies与dependencyManagement的区别
1、DepencyManagement应用场景当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。由于我们的模块很多,所以我们又抽象了一层,抽出一个itoo-base-parent来管理子项目的公共的依赖。为了项目的正确运行,必须让所有的子项目使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结...原创 2021-03-03 08:36:50 · 135 阅读 · 0 评论 -
SpringBoot和SpringCloud的版本对应关系
1、详细的SpringBoot和SpringCloud对应的关系:Spring官方对应关系2、springCloud与各组件的版本对应关系官方文档原创 2021-03-03 08:34:10 · 2011 阅读 · 0 评论 -
spring-boot-starter-parent 和 spring-boot-dependencies 的区别
最近在看一个github上前后端分离的SpringBoot+Vue项目,看到其后端项目的顶层pom里没有标签,如下:在依赖管理中用的spring-boot-dependencies。而我自己的项目中一直习惯spring-boot-starter-parent这样的配置,这也是新建SpringBoot项目时官方默认的方式:经查阅官方文档得知,可能有人不喜欢继承spring-boot-starter-parent POM。也可能有自己的企业标准parent。如果你不想使用spring-boot-star.转载 2021-03-03 08:33:39 · 2078 阅读 · 0 评论 -
使用WatchService监控文件夹
通过java7提供的WatchService API 实现对文件夹的监控package service; import config.Config; import java.io.IOException; import java.nio.file.*; import java.util.List; import java.util.concurrent.TimeUnit; public class WatchDirService { private WatchServi.原创 2021-03-03 08:32:01 · 197 阅读 · 0 评论 -
CommandLineRunner详解
在使用SpringBoot构建项目时,我们通常有一些预先数据的加载。那么SpringBoot提供了一个简单的方式来实现–CommandLineRunner。CommandLineRunner是一个接口,我们需要时,只需实现该接口就行。如果存在多个加载的数据,我们也可以使用@Order注解来排序。案例:分别定义了一个数据加载类MyStartupRunner1,排序为2;以及另一个数据加载类MyStartupRunner2,排序为1。@Component @Order(value = 2)...转载 2021-03-03 08:31:18 · 849 阅读 · 0 评论 -
SpringBoot异步多线程调用注解@Async使用和CountDown
关于多线成调用可能大家用的比较多的是JDK的多线程,springboot1.5+,项目框架中集成了异步多线程操作配置,在这里和大家分享一下springboot的异步多线程注解使用,先一步一步来以代码的形式讲解大家可能会遇到的问题。一:创建方法,然后在方法上添加@Async注解,然后还需要在@SpringBootApplication启动类或者@configure注解类上 添加注解@EnableAsync启动多线程注解,@Async就会对标注的方法开启异步多线程调用,注意,这个方法的类一定要交给spri.转载 2021-03-01 08:35:01 · 1966 阅读 · 2 评论 -
maven 命令行创建工程
mvn archetype:generate -DartifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeCatalog=internal -DgroupId=com.xylon.framework -DartifactId=xylon-frameworkcd xylon-framework&& rm -rf src && sed -i "" "s/<packaging>.原创 2021-03-01 08:32:07 · 161 阅读 · 0 评论 -
filter和interceptor的区别&执行顺序
前言最近在面试的时候,被问到了这个问题,觉得答得不是很好,在此进行整理和记录,供自己学习,也希望能帮助到大家。什么是Filter在java的javax.servlet下有一个接口Filter。任何实现了Filter接口的类都可以称之为filter。Filter的主要用途是设置字符集、控制权限、控制转向等等。在使用filter的过程中,如果是传统的web项目,带有web.xml文件这种。我们需要在xml里面进行配置。比如下面这样。<filter> <descrip转载 2021-03-01 08:31:00 · 767 阅读 · 0 评论 -
ThreadPoolTaskExecutor和ThreadPoolExecutor区别
之前工作中发现有同事在使用线程池的时候经常搞混淆ThreadPoolTaskExecutor和ThreadPoolExecutor,座椅在这里想写一片博客来讲讲这两个线程池的区别以及使用ThreadPoolExecutor这个类是JDK中的线程池类,继承自Executor, Executor 顾名思义是专门用来处理多线程相关的一个接口,所有县城相关的类都实现了这个接口,里面有一个execute()方法,用来执行线程,线程池主要提供一个线程队列,队列中保存着所有等待状态的线程。避免了创建与销毁的额外开.原创 2021-03-01 08:27:39 · 1320 阅读 · 2 评论 -
EnvironmentAware接口的作用
在SpringBoot中的应用凡注册到Spring容器内的bean,实现了EnvironmentAware接口重写setEnvironment方法后,在工程启动时可以获得application.properties的配置文件配置的属性值。demo演示直接上代码,比如我的application.properties文件有如下配置(这里说明一下SpringBoot应用默认的配置文件名就叫做application.properties,可以直接放在当前项目的根目录下,或者一个名叫config的子目转载 2021-03-01 08:26:00 · 309 阅读 · 0 评论 -
SpringBoot中application.yml基本配置详情
首先,application.properties和application.yml作用是一致的,区别是:1、spring boot项目中同时存在application.properties和application.yml文件时,两个文件都有效,但是application.properties的优先级会比application.yml高。2、配置文件所在目录不同优先级也不同。如下图1~4优先级从高到低3在yml文件中有些细节需要注意,冒号后面要空一格再写值,虽然在IDE中都会自动空一格.原创 2021-03-01 08:23:29 · 17166 阅读 · 0 评论 -
spring注解-AOP动态代理-@EnableAspectJAutoProxy注解如何
一.概述 AOP面向切面编程,生成目标方法所属类的代理类。代理类和目标类的关系:代理类继承目标类,并重载了目标类的方法。 代理类重载方法体里加入了切面业务逻辑和目标类方法的调用。 用户如何使用:从容器中获取目标类,实际上是获取代理类的实例, 代理类实例调用重载了父类的方法,就实现了AOP。二.步骤 1.在配置类上添加@EnableAspectJAutoProxy注解,开启注解版的AOP功能 2.声明切面类:@Aspect表明这是一个...原创 2021-03-01 08:21:10 · 340 阅读 · 1 评论 -
SpringBoot之@Configuration
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应原创 2021-03-01 08:20:35 · 201 阅读 · 0 评论 -
SpringBoot之@ComponentScan
Spring Boot项目总结:如果你的其他包都在使用了@SpringBootApplication注解的main app所在的包及其下级包,则你什么都不用做,SpringBoot会自动帮你把其他包都扫描了 如果你有一些bean所在的包,不在main app的包及其下级包,那么你需要手动加上@ComponentScan注解并指定那个bean所在的包...原创 2021-03-01 08:20:02 · 132 阅读 · 0 评论 -
Java实现自定义注解
注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。声明一个注解要用到的东西修饰符 访问修饰符必须为public,不写默认为pubic; 关键字 关键字为@interface; 注解名称 注解名称为自定义注解的名称,使用时还会用到; 注解类型元素 注解类型元素是注解中内容,可以理解成自定义接口的实现部分;public...原创 2021-03-01 08:19:24 · 215 阅读 · 1 评论