spring boot 专题
文章平均质量分 68
spring boot 后端开发 从无到有的过程,包括一些注意事项,细节,思想等
cy谭
求索计算惆怅断肠
展开
-
Spring @Bean方法没有执行(被冲掉)
本文解决的问题点:1、自定义的kafkaTemplate()方法没有执行2、加了注解@Bean没有执行背景不用springboot 自动装配的kafka,想自定义kafka template,就是自己注入kafka的配置参数,如@Configurationpublic class KafkaConfig { @Value("${kafka.broker.list}") private String bootstrapServer; @Value("${kafka..原创 2022-01-21 17:16:22 · 5762 阅读 · 0 评论 -
java spring RestController接口访问不到
springbootspring cloud访问报错Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Thu Jan 20 10:25:01 CST 2022There was an unexpected error (type=Not Found, status=404).解决:SpringBootApplicati原创 2022-01-20 15:56:26 · 2034 阅读 · 0 评论 -
springboot启动报错It was loaded from the following location
The method's class, javax.annotation.Resource, is available from the following locations:It was loaded from the following location:原创 2021-11-26 15:53:29 · 6957 阅读 · 0 评论 -
基于springboot的flowable工作流实战
Flowable工作流从入门到会用,工作流常用API整理,Flowable整合springboot,Flowable操作流程之排他网关,Flowable审批流程怎么做原创 2021-10-18 00:42:08 · 3562 阅读 · 2 评论 -
SpringBoot Mybatis开发资料整合
1、SpringBoot2.3.0 Mybatis+Mysql案例2、SpringBoot 的 MyBatis 多数据源配置3、spring boot 2.0 报错:“jdbcUrl is required with driverClassName.” 解决办法!原创 2021-09-16 17:54:44 · 95 阅读 · 0 评论 -
java 类路径classpath配置总结;java自定义配置文件读取
背景java应用,不管是web还是jar程序,读取配置文件始终是绕不过去的。一开始没那么多弯弯绕绕,反正什么配置文件,完全打包就完事,读取也是相对路径,IDE能跑,部署到服务器也不会有问题。然后,如果要提升部署的质量,满足运维的要求,那就没那么简单了。比如我们可能面临:1、部署到Tomcat?springboot的jar进程部署?2、配置文件需要从jar里面拉出来,方便部署时修改配置主题本文的主题就是配置文件的读取首先直接上例子(几种常用读取路径的区别)public原创 2021-05-14 15:47:58 · 5876 阅读 · 0 评论 -
redis 发布订阅
redis 发布订阅比较轻量,适合用来发布订阅简单场景的消息。整个例子包括:1、redis线程池配置:RedisJedisPoolConfig2、消息接收器配置:MsgReceiverConfig3、消息接收器:MsgReceiver、MsgReceiverImpl4、消息发送例子:TestSandTopic1、TestSandTopic21、redis线程池配置:RedisJedisPoolConfigimport org.springframework.beans.facto原创 2021-04-10 15:47:23 · 331 阅读 · 0 评论 -
nexus仓库 执行mvn mvn deploy 报错400 Repository version policy
nexus仓库执行mvnmvn deploy 报错Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xxx: Failed to retrieve remote metadata com.a.b.c.xxx:4.2.0-SNAPSHOT/maven-metadata.xml: Could not transfer metadata c.原创 2021-02-04 20:22:42 · 4524 阅读 · 0 评论 -
java.lang.ClassNotFoundException: org.apache.velocity.runtime.log.CommonsLogLogChute
报错一原因是:spring配置里面没有加velocityConfig org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'velocityConfigurer' defined in class path resource [org/springframework/boot/autoconfigure/velocity/VelocityAutoConfiguratio.原创 2021-01-21 12:01:55 · 2680 阅读 · 0 评论 -
java spring boot 过滤器重写请求参数、添加参数、修改参数、json参数
一、普通参数:ParameterRequestWrapper import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import java.util.Enumeration; import java.util.Map; import java.util.Vector; /** ...原创 2021-01-18 15:50:46 · 8897 阅读 · 10 评论 -
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name
spring boot 启动报错Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'formContentFilter' defined in class path resource原因:spring-boot 依赖 版本 不对解决:删除 spring版本号(没有版本号会继承父类)完整报错日志org.springframewor.原创 2021-01-11 10:00:40 · 35425 阅读 · 2 评论 -
[JAVA]等待通知应用方案
背景实际应用过程中,很多服务通常是独立部署,然后通过各种中间键进行通信。在复杂的使用场景中就有这么一种情况也就是异步请求获取问题设计为了能接收到异步消息,需要引入订阅机制和通知。具体设计方案如下其中用到的额外组件是redis。redis作为公共组件。使用其消息发布订阅技术作为不同服务之间的沟通。另外引入消息通知手段,使得同一个服务内部不同线程之间实现消息同步等待与通知数据流程1、客户端发起请求到达服务A2、服务A异步请求到服务B,同时服务A订阅创建消息接收线程向r原创 2021-01-06 21:58:25 · 233 阅读 · 0 评论 -
springboot 1.x CacheManager 配置
错误Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.config.internalCacheAdvisor' defined in class path resource [org/springframework/cache/annotation/ProxyCachingConfiguration.cl原创 2021-01-06 11:36:37 · 944 阅读 · 0 评论 -
idea spring boot java maven 依赖重复报错解决
依赖重复报错Description:An attempt was made to call a method that does not exist. The attempt was made from the following location: org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1220)The following method did..原创 2020-12-31 14:27:41 · 1339 阅读 · 0 评论 -
Request method ‘POST‘ not supported Method Not Allowed
spring http 请求报错:{"timestamp":1608716721439,"status":405,"error":"MethodNotAllowed","exception":"org.springframework.web.HttpRequestMethodNotSupportedException","message":"Requestmethod'POST'notsupported","...原创 2020-12-23 17:50:31 · 732 阅读 · 0 评论 -
springboot log4j 日志配置 没起作用
解决办法:在启动main 函数加载 日志配置文件@SpringBootApplicationpublic class AdapterApplication { public static void main(String[] args) { SpringApplication.run(AdapterApplication .class, args); // 日志配置 URL logConfigURL = HaiotAdapterAppli.原创 2020-12-18 14:54:43 · 1312 阅读 · 0 评论 -
springmvc 项目改造成springboot
改造的要点:1、提取配置2、导入配置3、优化依赖4、打包改造一、首先 spring mvc 配置文件初始化入口是 web.xml里面会去加载 servlet,一般会有如下配置,这是所有springmvc的配置入口<servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.Dispatcher...原创 2020-12-17 11:49:28 · 11288 阅读 · 1 评论 -
springboot @ImportResource 加载(导入)外部xml配置文件
Spring提供了一个@ImportResource注释,用于将自定义的applicationContext.xml文件中的bean加载到Application Context中。一、使用背景:我们知道,传统的spring 一些 bean的信息(比如扫描配置,数据库配置等等)都是放在xml配置文件里面。然后启动服务的时候就通过导入这个配置文件完成spring容器的注入。这种情况大多出现在对一些老旧项目进行改造的时候。applicationContext.xml配置如下:二、...原创 2020-12-06 18:04:23 · 11290 阅读 · 0 评论 -
Xms Xmx
-Xms2048m -Xmx2048m -Xss1024K -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m堆内存分配:-XmsJVM初始分配的内存由-Xms指定,默认是物理内存的1/64-XmxJVM最大分配的内存由-Xmx指定,默认是物理内存的1/4默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC ...转载 2020-12-04 15:33:01 · 369 阅读 · 0 评论 -
普通类获取 session
如果类里面没有传入 request 则可以采用如下方式获取sessionRequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();ServletRequestAttributes requestAttributes1 = (ServletRequestAttributes) requestAttributes;HttpServletRequest request = requestAttr..转载 2020-09-06 11:46:41 · 418 阅读 · 0 评论 -
java回调那点事, 回调最通俗的解释
前言在程序中,通常想要获取信息需要去主动调用,比如调用get方法获取值。但是这样有些场景就满足不了,比如你想要获取的信息产生的时间不确定。当然,你可以做个循环一直去get,直到get到想要的信息为止。但这并不是一个好办法。回调,就是被动通知。我调个接口,并没有立刻获取到结果,没关系,等结果出来之后被调用者自动给我返回。这样的好处是我不需要重复去查询结果,解耦代码。.实现机制现在通过买票的例子进行分析场景:我买票,售票员通知我出票结果分析:关键词是被通知,很显然,我的出票结果是被售票员通知的原创 2020-07-01 20:34:10 · 1172 阅读 · 0 评论 -
实例验证 JSON中put、accumulate、element的区别
关于 JSON中 put、accumulate、element的区别 很多人都只是用文字表达很不直观必须自己亲自编码验证!!!>代码:..>执行结果:..>结论:..>分析:..原创 2020-06-04 16:53:51 · 706 阅读 · 0 评论 -
在 Java 中初始化 List 的多种方法
在 Java 中初始化 List 的五种方法1.构造 List 后使用 List.add 初始化2.使用 {{}} 双括号语法3.使用 Arrays.asList4. 使用 Stream (JDK8)5. 使用 Lists (JDK9)Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式。1.构造 List 后使用 List.add 初始化List<String> stringList = new LinkedList<>();str转载 2020-05-21 11:34:43 · 827 阅读 · 0 评论 -
spring boot mongo分组查询结果总数。总记录数
关键词:Aggregation.count() protected Long getCountByTime(Long startTime, Long endTime) { Criteria criteria = Criteria.where("uptime").gte(startTime).lte(endTime); AggregationOptions.Builder builder = new AggregationOptions.Builder().al..原创 2020-05-12 19:38:01 · 5879 阅读 · 0 评论 -
springboot Basic Auth 暴露API 访问认证
因为 Basic Auth 的身份信息是卸载请求中,被截获账号密码可能会泄露,为此增加一重ip认证在实际应用中,可能会用spring boot 写一些微服务去做底层的一些预处理,然后再开放一些接口传输数据。为了安全,同城要做一些访问的认证,也不用选太复杂的认证方式,就用Basic Auth就可以,再在此基础上再做一些认证,比如这里的ip。为此,需要两个方面的思考1、如何做...原创 2020-04-17 12:46:29 · 6023 阅读 · 0 评论 -
MongoDB @CompoundIndexes 不起作用,没效果;@CompoundIndexes的使用详细介绍
一、@CompoundIndexes注解详解@CompoundIndexes 是 org.springframework.data.mongodb.core.index 包的一个注解作用是在程序启动的时候给数据库文档添加索引这是一个复数数型式,所以可以配置多个索引,比如这样@Document(collection = "mydb")@CompoundIndexes({ @...原创 2020-04-15 11:23:03 · 9130 阅读 · 1 评论 -
spring boot mongo java 动态创建索引
基于 org.springframework.data.mongodb. 的动态索引管理可以在代码中实现 对索引的增删改查支持组合索引 @Autowired private MongoTemplate mongoTemplate; /** * 创建联合索引 * * @param index_key * @param i...原创 2020-04-14 19:05:17 · 6263 阅读 · 6 评论 -
Spring boot http编码配置,以及各个项的详细说明
spring web项目中需要在添加CharacterEncodingFilterspringboot中只需要在配置文件中添加以下配置spring.http.encoding.charset=UTF-8spring.http.encoding.enabled=truespring.http.encoding.force=true参考springboot官方文档https...转载 2020-03-31 14:00:24 · 3828 阅读 · 0 评论 -
@Service interfaceClass() or interfaceName() or interface class
报错:java.lang.IllegalArgumentException: @Service interfaceClass() or interfaceName() or interface class must be present! at org.springframework.util.Assert.notNull(Assert.java:198)原因:加了 @S...原创 2020-01-11 16:43:08 · 14166 阅读 · 2 评论 -
spring boot 异常处理,响应Response重写AOP实现
异常处理注解形式import com.example.exception.demo.common.WebMessage;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import...原创 2019-12-24 15:10:14 · 939 阅读 · 0 评论 -
MongoDB 模糊查询包含/不包含字符串
MongoTemplate模糊查询,spring boot MongoDB模糊查询模糊查询 不包含content 的记录String content = "192.168.1.2";Pattern compile = Pattern.compile("^((?!" + content+ ").)*$", Pattern.CASE_INSENSITIVE);Query query ...原创 2019-10-24 15:50:22 · 16145 阅读 · 2 评论 -
Springboot 项目 maven 打包不包含第三方jar包
参考文章:https://blog.csdn.net/gaozhiqiang111/article/details/88026057Maven 打包的时候包含第三方jar包,所以打出来的jar文件会很大,有时候我们希望在打包的过程中不包含第三方的jar文件。只需在pom文件中加入下面的代码即可<plugin> <groupId>org.apache.ma...转载 2019-07-30 11:57:59 · 3496 阅读 · 1 评论 -
基于 Spring Boot 的后台定时任务 与 异步调用
定时任务 就是在后台按照我们设定的时间和频率 来开启线程执行 我们定义好的相关代码。比如:定时分析器,定时统计器,定时发送邮件等等那么基于Spring Boot 我们如何开发,下面介绍最简单快速的方法先简单了解几个注解:@Scheduled:定时任务的配置@Async:异步执行@EnableScheduling: 开启对定时任务的支持@EnableAsync:开启...原创 2019-07-08 14:16:10 · 3930 阅读 · 0 评论 -
Spring Boot 多个MongoDB 数据源配置与实现
实现原理:Spring Boot中通过依赖spring-boot-starter-data-mongodb,来实现spring-data-mongodb的自动配置,我们最终使用MongoDB操作数据库是通过MongoTemplate类完成,他提供增删改查等方法从上图可以看出MongoTemplate的连接配置可由MongoDbFactory 生成,从而提供了自定义连接的可能,...原创 2022-02-23 14:42:19 · 9517 阅读 · 5 评论 -
spring boot 后台时间正确,但是返回给前台相差8个小时
原因如下spring-boot中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jackson框架转换,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。处理方式在application.yml添加配置sprin...原创 2019-08-26 16:48:44 · 1711 阅读 · 2 评论 -
fixedRate配置文件,fixedRate动态配置,fixedRateString配置
〇、@Scheduled定时任务有多种配置其中最常用的应该是 cronspring boot 这样写:@Scheduled(cron = "*/5 * * * * *")# corn表达式 从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份用cron 表达式 一大优点就是直观,通用性也强一、fixed 表达式的介绍cron 表达式 虽然优点多多,...原创 2019-09-06 11:10:18 · 18251 阅读 · 2 评论 -
java.lang.NoClassDefFoundError: ch/qos/logback/classic/Level 日志
报错:java.lang.NoClassDefFoundError: ch/qos/logback/classic/Level<exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId></exclusi...原创 2019-09-27 15:41:26 · 4588 阅读 · 1 评论 -
spring相关文档收藏
Spring Boot中文文档(官方文档翻译 基于1.5.2.RELEASE)https://my.oschina.net/geekidentity/blog/872888Spring Boot中文官方文档https://www.breakyizhan.com/springboot/3245.html#127Spring Cloud 中文文档https://springclou...原创 2019-09-30 08:48:26 · 122 阅读 · 0 评论 -
Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/la
tomcat启动catalina.out日志报错Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/l.....................问题原因:Springboot内嵌tomcat8,与tomcat7冲突解决办法:①、在...转载 2019-09-20 17:26:04 · 1859 阅读 · 0 评论