spring boot
Mint6
这个作者很懒,什么都没留下…
展开
-
springboot打包的jar,使用java -cp报错:找不到或无法加载主类
springboot打包的jar,使用java -cp报错:找不到或无法加载主类原创 2023-07-17 20:06:30 · 2567 阅读 · 1 评论 -
使用log4j2为日志增加代码行号
在应用程序的开发和调试过程中,日志是一个非常重要的工具。通过记录应用程序的运行状态和错误信息,我们可以更轻松地追踪问题并进行故障排除。为了更好地理解日志消息的来源,增加代码行号是一种常见的需求。在本文中,我们将介绍如何使用log4j2为日志增加代码行号的方法。通过使用log4j2的配置,我们可以轻松地为日志增加代码行号。这对于开发人员在调试和故障排除过程中定位问题非常有帮助。原创 2023-05-20 11:23:42 · 1894 阅读 · 0 评论 -
springboot log4j升级log4j2
log4j2升级步骤在多线程情况下,使用log4j可能会阻塞其他线程,从而导致整体性能下降并出现性能瓶颈。所以需要升级到性能更好并支持异步的log4j2。原创 2023-05-13 19:15:06 · 1656 阅读 · 0 评论 -
测试springboot log4j2异步配置是否生效
测试springboot log4j2异步配置是否生效原创 2023-05-09 11:21:29 · 678 阅读 · 0 评论 -
springboot web项目统一时区方案
背景springboot项目国际化中,会遇到用户选择的时间和最终存到数据库的时间不一致,可能就是项目开发和部署时的时区没有处理好,导致时间转换出现了问题。分析画出用户时间数据的流转过程,如图存在时区的几个存储地点:客户端,服务器,JVM。Mysql流程:用户的浏览器根据客户端时区,获取当前时间---》把时间参数传给服务器--》jvm根据设置选择服务器的当前时区或者自己设置的时区---》把时间存入mysql,mysql安装时有自己的时区需求:需要时间在传入和取出来的时候,保证一致原创 2023-04-22 21:01:27 · 3282 阅读 · 0 评论 -
深入解读springboot使用注解@value注入static变量
在这个类中,我们将属性"jdbc.url"的值注入到了MyComponent类中定义的静态变量"url"中。这样就简单的完成了注意setUrl方法不能是static@Component。原创 2023-04-22 20:54:57 · 2439 阅读 · 0 评论 -
java枚举使用spring的@value注入属性
背景:在spring中使用@value注解来达到动态配置线上和预发环境的参数,在普通类中可以随意使用@value实现,java枚举enum无法注入,怎么解决这个问题?public enum SpringValueEnum { TEACHER(0, "我是老师"), STUDENT(1, "我是学生") { @Override public String getDesc() { return PeopleEnumContainer原创 2021-09-27 22:09:35 · 5545 阅读 · 0 评论 -
springboot单元测试mockito对tkmapper进行mock的问题:无法获取实体类xxx对应的表名
前言写单元测试的时候,经常使用mock,但是对于使用tkmapper的Example方法时,单元测试mock会提示:无法获取实体类xxx对应的表名,怎么正常mock解决办法这个报错时在调用example方法之前,Exampleexample=newExample(XXX.class)时出现的,所以需要mock这个,进行如下设置Configconfig=newConfig();EntityHelper.initEntityNameMap(OperationApply.cl...原创 2021-02-24 23:40:45 · 1943 阅读 · 1 评论 -
springboot单元测试工具mockito和powermock推荐
前言做单元测试的时候经常会引用第三方服务,导致本地运行单元测试失败。这时候推荐使用mock的方法,把第三方服务mock出来,这样单元测试就可以验证其他逻辑了。推荐框架mockito:https://github.com/mockito/mockito简介:Mockito 是一个针对 Java 的单元测试模拟框架,它与 EasyMock 和 jMock 很相似,都是为了简化单元测试过程中测试上下文 ( 或者称之为测试驱动函数以及桩函数 ) 的搭建而开发的工具powermock:https:原创 2021-02-24 23:23:36 · 842 阅读 · 0 评论 -
springboot的yaml写法之map、list和map<String,List>
分两步:设置。。原创 2020-12-07 00:47:53 · 9074 阅读 · 0 评论 -
springboot前后端分离跨域问题之Request header参数取不到
背景:前后端分离项目,前端vue,后端springboot,本地调试时设置了跨域处理,前端生成的uuid后端从header里面取不到。解决办法:如下是允许跨域,设置corsConfiguration.addExposedHeader("uuid"); 放行uuid参数,这样后端就可以获取到了。@Configurationpublic class CorsConfig { private CorsConfiguration buildConfig() { CorsCon.原创 2020-05-17 11:21:45 · 6162 阅读 · 0 评论 -
springboot单元测试aop失效
背景:使用springboot实现了aop,通过controller的接口测试走了aop的逻辑,但是单元测试的时候aop逻辑失效,debug也没有走aop的逻辑。原因如下:1.@EnableAspectJAutoProxy是开启aop功能的注解。 2.springboot默认开启@EnableAspectJAutoProxy(true)。 ...原创 2020-03-20 23:50:51 · 4415 阅读 · 4 评论 -
springboot设置Cors跨域的四种方式
前言:CorsFilter / WebMvcConfigurer / @CrossOrigin 需要SpringMVC 4.2 以上的版本才支持,对应SpringBoot 1.3 版本以上都支持这些CORS特性。不过,使用SpringMVC4.2 以下版本的小伙伴也不用慌,直接使用方式4通过手工添加响应头来授权CORS跨域访问也是可以的。首先一点:跨域问题,后端解决,有如下四种方式。方...原创 2020-03-08 01:12:09 · 14725 阅读 · 2 评论 -
springboot+vue前后端分离解决本地联调跨域和cookie问题
背景:前端使用vue搭建的单独项目,后端使用springboot搭建的单独项目。在本地同一台机器上联调的时候,自己需要启动前端和后端两个项目,vue启动9527端口,springboot启动8083端口,导致跨域问题,跨域导致cookie传递出现问题。产生的问题:1.本地不同端口怎么联调?2.怎么解决跨域问题?3.怎么解决跨域导致cookie丢失的问题?1.本地不同端口怎么联调?前端启...原创 2020-02-23 22:22:54 · 6220 阅读 · 2 评论 -
springboot集成shiro之登陆加密报错
1.springboot集成shiro之登陆加密报错,提示如下:20:25:27.818 WARN org.apache.shiro.authc.AbstractAuthenticator 216 authenticate - Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswor...原创 2020-01-05 20:34:57 · 3544 阅读 · 0 评论 -
springboot国际化配置流程
1.配置国际化文件在resource下面添加i18n文件夹,下面放置转换的文件后缀是有规则的,默认的messages.properties,英文:messages_en_US.properties,中文:messages_zh_CN.properties。比如2.告诉springboot这些文件的位置@Configurationpublic class I18nConfig {...原创 2020-01-04 23:12:52 · 526 阅读 · 0 评论 -
springboot继承log4j2完美实践
1.引入jar <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions&...原创 2019-06-30 21:11:44 · 1773 阅读 · 0 评论 -
springboot单元测试mock依赖的类实践
引入包,测试版本:<powermock.version>1.7.1</powermock.version><dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId>...原创 2019-06-24 15:44:55 · 3166 阅读 · 0 评论 -
springboot的注解aop使用教程
1.springboot中使用注解很容易开启一个aop@Aspect@Order(1)@Component@Aspect:开启aop,@Component:需要被扫描到,启用这个类,@Order:启动的aop有好多个,这个可以协调配置它们的先后顺序2.涉及到六个常用注解@Pointcut("")定义切入点:定义一个方法,代替需要做切面的方法。比如现在想aop在A方法周...原创 2019-07-07 18:51:24 · 2267 阅读 · 0 评论 -
spring-boot入门实例
先创建一个maven项目 groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomc原创 2017-09-15 11:37:49 · 2276 阅读 · 0 评论 -
SpringBoot启动报错,无法扫描到这个包,所以注入失败
今天改一个项目,使用的springboot,但是启动的时候报有个mapper无法注入,肯定是扫描不到所以注入失败。一般在application加上这两个注解,然后在各自的类上加上,@service等注解,使用@autowire就可以完成注入过程。@SpringBootApplication@MapperScan("要扫描的包全限定名")但是我这里这些注解都使用了,没有问题。错误...原创 2018-07-26 00:40:35 · 7397 阅读 · 0 评论 -
java springboot打包项目成jar在命令行运----找不到主类和没有主清单属性
springboot项目打包成的jar在命令行运行时提示找不到主类和没有主清单属性这个原因是:使用压缩工具打开jar,找到META-INF打开MANIFEST.MF里面内容:看看是不是比下面这个缺少Start-Class和Main-Class这个两个属性没有的话别手动加了,在pom里面增加下面的plugin,然后重新编译打包一下。pom.xml增加下面几个 &...原创 2018-08-31 10:28:25 · 6632 阅读 · 3 评论 -
java的springboot项目部署到服务器后返回结果多8个小时
本文章相关:1.一台机器服务器端往客户端返回数据,时间自动改变,改变的时间大小一致。比如每次都加8小时。2.jvm的时区导致时间传输不对。3.@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") 时区转换4.springboot代码内打印结果正确,传到浏览器就变了正文:我在做一个spingboot项目的时候用到了与时...原创 2018-09-15 11:45:33 · 2913 阅读 · 0 评论 -
springboot之项目集群生成不同的hashcode导致缓存不一致。
场景:集群项目使用访问策略使用的随机,缓存使用的redis,自定义key当传入两个参数以上时候,使用Arrays.deepHashCode来计算缓存的key。但是由于被缓存的方法有个固定的User.class参数,不过在deepHashCode方法中这个class不同的机器生成不同的值,导致产生的hashcode不一样。发现问题:然后出现在机器1刚访问过这个接口,redis也有缓存,访...原创 2018-12-02 18:20:22 · 1117 阅读 · 0 评论 -
springboot redis自定义KeyGenerator----单机版
这个自定义在单机情况正常,集群情况下不能很好的对同一接口生成一样的hash key,需要考虑所缓存的方法有固定类参数,比如这个方法参数为User.class,或者Student.class。public class MCacheKeyGenerator implements KeyGenerator { public static final Logger LOGGER = Log...原创 2018-12-02 18:30:33 · 5199 阅读 · 0 评论 -
springboot系列博客一之搭建一个新项目
源代码地址:https://github.com/Minnull/fastboot使用的工具是ideaFile--》New--》Project--》spring initializr--》Next这样填写,然后next选择需要的功能,会给你添加好jarnext-finish就好了 不用修改然后项目下载好后,使用maven插件 clean-install-pa...原创 2019-04-07 18:35:51 · 193 阅读 · 0 评论 -
springboot系列教程二之分模块配置聚合项目结构
源代码地址:https://github.com/Minnull/fastboot教程跟着一来的1.删除src文件,相当于已经存在parent模块了。直接创建子模块就好了2.创建module3.选择maven,然后模板都不选4.创建一个gengerator子模块,next-finish这里手动加个-5.然后再看目录结构父类pom已经自动引入子...原创 2019-04-07 23:59:17 · 700 阅读 · 0 评论 -
springboot聚合项目打包报错
报错如下Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.1.4.RELEASE:repackage failed: Unable to find main class使用spring-boot-maven-plugin插件会出现这个问题,也不使用build repackage这样...原创 2019-04-08 00:46:08 · 1656 阅读 · 0 评论 -
springboot系列博客一之idea配置管理open module setting
源代码地址:https://github.com/Minnull/fastboot在springboot项目主文件上右键,open module setting打开原创 2023-04-22 21:09:04 · 2392 阅读 · 1 评论 -
springboot不用数据库启动
排除数据库启动springboot@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})原创 2019-04-09 00:10:16 · 5261 阅读 · 1 评论 -
springboot多数据源不配置datasource
首先怎么配置多数据源,这个写的比较简单,是个大概过程。通过注解@Configuration 和@Bean(name = "matserDataSource")@ConfigurationProperties(prefix = "spring.datasource.matser")@Primarypublic DataSource mainDataSource() { ...原创 2019-04-30 14:40:07 · 3552 阅读 · 0 评论 -
springboot之JoinPoint的getSignature方法
在使用springboot写aop的时候,有个JoinPoint类,用来获取代理类和被代理类的信息。这个文章记录一下JoinPoint的getSignature方法返回的是什么格式。不废话,贴代码package org.aspectj.lang;public interface Signature { String toString(); String toSh...原创 2019-06-15 17:34:15 · 35485 阅读 · 0 评论 -
springboot多数据源之AbstractRoutingDataSource
springboot继承AbstractRoutingDataSource可以实现数据源。1.先写继承AbstractRoutingDataSource的类(1).DynamicDataSource 是设置默认数据源和已经存在的所有数据源(2).这个determineCurrentLookupKey是从当前线程获取设置的数据源public class DynamicDataSou...原创 2019-06-16 02:02:19 · 3570 阅读 · 0 评论 -
springboot的注解之@MapperScan("")分析扫描包流程
前言:其实一般不写这样的分析的,因为学会了分析过程,就知道写这样的博客就感觉是在水一样。但是这次呢一是为了记录下来分析过程,二是给大家分享一下@MapperScan注解扫描包的流程吧。提出问题:@MapperScan("com.fast")扫描的是com.fast这个包下面的bean是毋庸置疑的,但是包括子包下面的bean吗?疑问案例:比如com.fast.master.dao,还有com...原创 2019-06-16 23:53:38 · 10060 阅读 · 1 评论 -
springboot集成myabtis-plus报错
报错correct the classpath of your application so that it contains a single, compatible version of com.baomidou.mybatisplus.core.MybatisConfiguration这个是作者springboot集成mybatis-plus的时候遇到的,但是并不是属于mybati...原创 2019-06-23 11:17:46 · 5402 阅读 · 4 评论 -
springboot出现SpringApplication无法导入包的问题
最简单的springboot入门配置,出现SpringApplication无法import包,maven下载jar失败 推荐方法三,可以先试试方法三 点开SpringApplication错误 1. 找到C:\Users\lenovo\.m2\repository\org\springframework\boot下面的spring-boot-autoconfigure,把他删除原创 2017-09-23 00:02:16 · 38444 阅读 · 5 评论