
Spring生态
文章平均质量分 62
以实战为线索,逐步深入Spring生态开发的各个环节,掌握后端常用性能体验及优化思路,提升编码能力及思维能力。
它山之石,可以攻玉
工欲善其事,必先利其器。
展开
-
No qualifying bean of type问题解决
No qualifying bean of type问题解决前言No qualifying bean of type ‘xxx.xxx.xxx’ available: expected single matching bean but found 2:xxx.xxx.xxx对于一个java开发新手来说, 应该经常会遇到这个问题,而且还不好意思询问周围同事,不要怕,今天就让我们解决掉它。问题及解决方案问题1包扫描不正确或未扫描默认情况下,如果使用了springboot,他会默认扫描启动类(原创 2022-05-06 16:58:21 · 67830 阅读 · 0 评论 -
Springboot集成Swagger2
Springboot集成Swagger2前言 多年以前写过一篇 springMVC整合swagger(亲自试验完全可用),但随着springboot的流行,今天记录一下springboot集成swagger2的使用过程,swagger3的集成类似只不过依赖调整了一下,后面会提到。集成添加maven依赖<properties> <swagger.version>2.9.2</swagger.version></properties><!原创 2022-05-06 15:47:28 · 747 阅读 · 0 评论 -
使用@PropertySource动态加载不同环境的配置文件
前言自定义配置文件是我们日常开发中经常会使用的资源,而spring只提供了类似application-* 的这中匹配方式,并不支持我们自定义的配置文件名称,例如:customize-dev.properties,但是spring提供了一个注解可以方便加载我们的自定义配置文件,它就是@PropertySource。自定义配置文件customize-dev.propertiescustomize.name=dev使用@PropertySource加载配置文件import lombok.Data;原创 2021-07-26 17:29:54 · 2319 阅读 · 0 评论 -
springboot + mybatis plus + mysql 树形结构查询
springboot + mybatis plus + mysql 树形结构查询背景实际开发过程中经常需要查询节点树,根据指定节点获取子节点列表,以下记录了获取节点树的操作,以备不时之需。使用场景可以用于系统部门组织机构、商品分类、城市关系等带有层级关系的数据结构;设计思路递归模型即根节点、枝干节点、叶子节点,数据模型如下:idcodenameparent_code110000电脑0220000手机0310001联想笔记本10000原创 2021-07-21 15:47:36 · 4776 阅读 · 3 评论 -
Spring boot 启动完成后执行部分代码逻辑
前言在日常开发过程中经常回遇到服务启动完成就要执行部分逻辑代码的情况,例如:删除临时文件,清楚缓存信息,读取配置文件,数据库连接,需要开机自启动等操作,实现的方法有很多,接下来为各位介绍一下个人经常使用到的几种方式。实现方式第一种 CommandLineRunner 接口import lombok.extern.slf4j.Slf4j;import org.springframework.boot.CommandLineRunner;import org.springframework.ster原创 2021-04-28 15:21:49 · 472 阅读 · 0 评论 -
vue 中 [ __ob__: Observer]数组不能被后端接收问题解决
背景最近开发中遇到一个问题,前端传递数组到后端服务器,但是就是不能够被后端解析接收,经过研究发现罪魁祸首是 vue 中 __ob__: Observer造成的。问题展现前端传输的数据发现入参是 __ob__: Observer。__ob__: Observer: 此类数据是vue这个框架对数据设置的监控器,一般都是不可枚举的。解决方案解决方案有两种JSON解析将数据转换为Json字符串,然后将Json字符串转换为Json对象即可。Object.assignObject原创 2021-04-28 11:57:50 · 1199 阅读 · 0 评论 -
springboot学习(一)认识springboot及创建第一个springboot项目
一、springboot是什么:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。二、学习springboot的目的原创 2016-12-12 14:34:40 · 728 阅读 · 0 评论 -
Spring+Mybatis+SpringMVC后台与前台分页展示实例(附工程)
林炳文Evankaka原创作品。转载请注明出处http://blog.youkuaiyun.com/evankaka 摘要:本文实现了一个后台由spring+Mybatis+SpringMVC组成,分页采用PageHelper,前台展示使用bootstrap-paginator来显示效果的分页实例。整个项目由maven构成。这里主要讲了分页的实例,框架怎么搭建就不再说明,主要是在这里的基础上来转载 2016-12-07 10:51:18 · 1590 阅读 · 0 评论 -
spring配置mybatis自动扫描*mapper.java和*mapper.xml配置文件
spring配置mybatis自动扫描*mapper.java和*mapper.xml.原创 2016-12-06 17:02:51 · 25508 阅读 · 0 评论 -
spring+mybatis报Cannot load JDBC driver class ${xxxxx}'错误
spring整合mybatis时,运行会出现Cannot load JDBC driver class ${xxxxx}'错误,解决办法有两种:<!-- mapper批量扫描,从mapper包中扫描出mapper接口,自动创建代理对象并且在spring容器中注入 遵循规范:将mapper.java和mapper.xml映射文件名称保持一致,且在一个目录中. 自动扫描出来的m原创 2016-12-06 16:51:23 · 738 阅读 · 1 评论 -
spring 头文件
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:c="http://www.springfram原创 2017-02-07 16:10:50 · 528 阅读 · 1 评论 -
spring aop execution表达式
execution 中第一个*表示任何返回类型. 要注意一点,类名需要用一个.占位 再如: save*(..):以save开头的方法 以上来自:http://www.cnblogs.com/yanjunwu/p/3996570.html转载 2017-01-17 11:30:10 · 381 阅读 · 0 评论 -
springMVC中获取request和response
在很多时候项目中用到了HttpServletResponse 和 HttpServletRequest 但是无法获取到,参考了很多文章,以下为亲自试验可以使用:ServletRequestAttributes servletContext = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();//获取原创 2017-01-17 11:24:42 · 802 阅读 · 0 评论 -
springMVC整合shiro
shiro是什么:Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障。shiro官方文档:http://shiro.apache.org/authentication.html。首先在pom.xml中添加shiro依赖: org.apache.shiro shiro-core 1.2.5 org.ap原创 2016-12-19 16:39:42 · 434 阅读 · 0 评论 -
springmvc和json整合配置方法
配置方法一**1、导入第三方的jackson包,jackson-mapper-asl-1.9.7.jar和jackson-core-asl-1.9.7.jar。 2、spring配置文件添加** mvc:annotation-driven/> bean id="mappingJacksonHttpMessageConverter" class="org.sp转载 2017-03-14 11:20:31 · 359 阅读 · 0 评论 -
手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis
版权声明:本文为@小疯 原创文章,如需转载,请注明出处!目录(?)[+]我们看招聘信息的时候,经常会看到这一点,需要具备SSH框架的技能;而且在大部分教学课堂中,也会把SSH作为最核心的教学内容。 但是,我们在实际应用中发现,SpringMVC可以完全替代Struts,配合注解的方式,编程非常快捷,而且通过restful风格定义url,让地址看起转载 2017-03-09 14:45:06 · 539 阅读 · 0 评论 -
Spring的两种代理JDK和CGLIB的区别浅谈
原文地址:http://blog.youkuaiyun.com/u013126379/article/details/52121096一、原理区别Java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对转载 2017-03-07 17:36:53 · 396 阅读 · 0 评论 -
spring每个包的作用
spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。spring-src.zip就是所有的源代码压缩包。除了spring.jar 文件,Spring 还包括有其它21 个独立的jar 包,各自包含着对应的Spring组件,用原创 2017-03-07 16:34:23 · 356 阅读 · 0 评论 -
spring Spel 在aop中的应用
项目中时常用到aop切面做一些功能,但是获取切面中方法的参数有多样的方法,我列出我在项目中运用spel的方式: 定义注解: @Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface RecordAnnotation { InterfaceTyp...原创 2018-08-10 16:07:53 · 1655 阅读 · 0 评论 -
Springboot 基于CXF构建WebService服务
前言最近因为系统需要接入了一个新的支付通道,一般来说都是使用RestApi 来接入,但是本次接入的支付通道为境外支付,使用的WebService,对于WS我们在实际业务中基本上不会用到,所以查阅了一些资料,记录一下自己项目中使用的WS。WebService概述什么是WebServiceWeb Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,原创 2021-04-13 11:23:35 · 1995 阅读 · 0 评论 -
HttpServletRequest 重复读取及设置自定义header
前言最近在开发中遇到了一个需求,需要重复读取HttpServletRequest请求内容及设置自定义header向下传递,但是会出现Required request body is missing ,原因是ServletInputStream的流只能读取一次,那么我们只需要让请求内容可以重复读取即可,可以通过HttpServletRequestWrapper来实现。实现步骤1.自定义MutableHttpServletRequestpublic class MutableHttpServletReq原创 2021-04-13 11:21:57 · 2655 阅读 · 0 评论 -
编程式动态AOP实践
前言在实际开发中我们经常需要打印日志或者监控方法执行,使用spring ao能够很好的实现这个功能,但是切面中的Pointcut是固定值,不可被更改,就导致多个应用程序使用功能相同的aop需要有大量重复代码,我们希望将这些功能相同的部分封装并抽离为一个公共组件包,能够动态配置Pointcut。实现思路从Spring的AOP机制已知,要对一个方法或类切入需要实现以下步骤Pointcut,实现spring 中的Pointcut接口自定已切入点,根据具体的业务实现本文章示例使用spring中的 As原创 2021-04-13 11:20:13 · 228 阅读 · 0 评论 -
Spring Retry 请求重试指南
1 前言在实际开发中, 例如在系统请求其他系统或资源的外部调用、操作时,由于网络故障等问题会造成短时间内失败。 我们希望当操作失败时,将使用重试策略来重试该操作。2 添加依赖<dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactId> <version>1.1.5.RELEASE原创 2021-04-13 11:18:51 · 568 阅读 · 0 评论 -
Spring RestTemplate错误处理
前言在实际开发中使用RestTemplate 经常会出现返回非200状态码报异常,这是源于RestTemplate 默认响应状态码处理机制,默认情况下RestTemplate如果发生HTTP错误将会抛出以下异常:HttpClientErrorException – in case of HTTP status 4xxHttpServerErrorException – in case of HTTP status 5xxUnknownHttpStatusCodeException – in cas原创 2021-04-13 11:17:19 · 1801 阅读 · 0 评论 -
java根据经纬度计算距离
前言最近有个需求是根据经纬度获取用户之间的距离,最初使用的是Redis中的GEO ,但是计算出来的距离和预期的偏差较大,所以寻求了另外的一种方式,通过geodesy来计算两个经纬度之间的距离,如果大家有谁使用了redis方式计算成功了欢迎评论给我,让我学习一下。首先引入依赖<dependency> <groupId>org.gavaghan</groupId> <artifactId>geodesy</artifactId> &l原创 2021-04-13 11:15:34 · 1166 阅读 · 0 评论 -
Spring Boot:The field file exceeds its maximum permitted size of 1048576 bytes.
前言最近需求方提出文件除了图片还可以上传视频,我心里美滋滋,因为之前开发的时候我就提过了拓展文件类型的上传服务,所以支持视频上传是木的问题,但是前端小朋友上传视频说服务器返回了存储失败信息,查看了系统日志,果然服务异常了,仔细排查了一下原来是Springboot 默认上传文件大小限制了,千算万算没想到这块,算是长记性了。问题出现的原因Spring boot 内置的Tomcat默认支持单个文件最大1Mb,单次请求文件最大10Mb,超出限制就会报下面的错误:org.apache.tomcat.util.原创 2021-04-13 11:12:36 · 375 阅读 · 0 评论 -
SpringMvc解决跨域问题
前言:今天解决js跨域,搞了一下午,呜呜,以下是我整理的一些解决方法介绍: 跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求。比如说,域名A(http://domaina.example)的某 Web 应用程序中通过标签引入了域名B(http://domainb.foo)站点的某图片资源(http转载 2017-03-15 15:12:36 · 882 阅读 · 0 评论 -
springboot 修改默认端口及application.properties常用配置
Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入:server.port=9090其他常用配置:(一)、server配置server.address #指定server绑定的地址server.compression.enabled #是否开启压缩,默认为false.server.com原创 2016-12-12 17:34:19 · 34828 阅读 · 0 评论 -
springboot application.properties详解
# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own appl原创 2016-12-12 16:24:31 · 2947 阅读 · 0 评论