202301-31 使用kotlin编写spring cloud微服务的过程 创建工程使用idea的springinitializr创建一个项目,语言选择kotlin,类型为gradle。根据需要选择依赖配置文件yml或者properties文件和java是完全一样的,这里不详细说明修改build.gradle.kts中的参数:plugins{//springboot版本id("org.springframework.boot")version"2.3.3.RELEASE"//自动依赖包版本管理id("io.spring.dependency-management")version"1.0.10.RELEASE"...}//springcloud版本extra["springCloudVers... 继续阅读 >
202301-31 Spring系列之事物管理 目录前言Spring事务抽象Spring之编程式事物声明式事物事物失效的8种情况及解决办法前言我们都知道Spring给我们提供了很多抽象,比如我们在操作数据库的过程中,它为我们提供了事物方面的抽象,让我们可以非常方便的以事物方式操作数据库。不管你用JDBC、Mybatis、Hibernate等任何一种方式操作数据库,也不管你使用DataSource还是JTA的事物,Spring事物抽象管理都能很好的把他统一在一起。接下来看一下事物的抽象核心接口Spring事务... 继续阅读 >
202301-31 spring cloud gateway转发服务报错的解决 目录springcloudgateway转发服务报错错误如下解决方案使用gateWay做为网关遇到的404问题GateWay有几个重要的配置,也是最重要的东西我在项目中访问gateWay服务的时候springcloudgateway转发服务报错错误如下javax.net.ssl.SSLHandshakeException:error:1000009c:SSLroutines:OPENSSL_internal:HTTP_REQUEST在springcloudgateway项目中,使用了SSL验证后,为了增加系统性能,引入了netty-tcnative-boringssl-static依赖来增加... 继续阅读 >
202301-13 Spring MVC中使用Controller如何进行重定向 目录Controller如何进行重定向本人知道的有两种方式注意具体看demo理解这两种方式的实现controller请求转发,重定向了解转发forward重定向redirectController如何进行重定向SpringMVC中进行重定向本人知道的有两种方式方法返回的URI(相对路径)中加上"redirect:"前缀,声明要重定向到该地址使用HttpServletResponse对象进行重定向注意"redirect:"后面跟着的是"/"和不跟着"/"是不一样的:1)"redirect:"后面跟着"/":说明该URI是... 继续阅读 >
202301-13 Java Spring @Lazy延迟注入源码案例详解 前言有时候我们会在属性注入的时候添加@Lazy注解实现延迟注入,今天咱们通过阅读源码来分析下原因一、一个简单的小例子代码如下:@ServicepublicclassNormalService1{@Autowired@LazyprivateMyServicemyService;publicvoiddoSomething(){myService.getName();}}作用是为了进行延迟加载,在NormalService1进行属性注入的时候,如果MyService还没有生成bean也不用担心,会注入一个代理,但是在实际运行的时候,会获取... 继续阅读 >
202301-13 Java Spring之@Async原理案例详解 目录前言一、如何使用@Async二、源码解读总结前言用过Spring的人多多少少也都用过@Async注解,至于作用嘛,看注解名,大概能猜出来,就是在方法执行的时候进行异步执行。一、如何使用@Async使用@Async注解主要分两步:1.在配置类上添加@EnableAsync注解@ComponentScan(value="com.wang")@Configuration@EnableAsyncpublicclassAppConfig{}2.在想要异步执行的方法上面加上@Async@ServicepublicclassCycleService2{@Autowir... 继续阅读 >
202301-13 Java Spring循环依赖原理与bean的生命周期图文案例详解 前言Spring是如何处理循环依赖的,又是怎么做到,互相注入对方的proxybean而不是rawbean的?现在就分析一下一、循环依赖是什么Spring中放入两个Service,分别是C1和C2,然后C1和C2又互为对方的成员变量。这种情况C1和C2就可以说是相互循环依赖了二、源码图解1.bean的主要生命周期图解上图是一个没有循坏依赖的bean的主要生命周期节点,下图的循坏依赖可以结合该图解一起看2.循环依赖图解可以看到里面有一个很重要的逻辑:当一个... 继续阅读 >
202211-02 spring boot jar部署控制台日志乱码的解决 目录springbootjar部署控制台日志乱码问题描述解决注释掉或删除springboot打包后在Windows控制台运行中文乱码例如springbootjar部署控制台日志乱码问题描述springbootjar包部署,通过java-jar命令运行.jar文件代码中通过变量log输出到控制台的中文,乱码,但是仅仅是在运行jar时才乱码;而在用eclipsedebug时,正常代码中通过System.out.println()输出的中文,不论是否是通过jar运行,都正常日志使用的是默认的logback,... 继续阅读 >
202210-31 Spring Boot如何配置内置Tomcat的maxPostSize值 目录SpringBoot配置内置Tomcat的maxPostSize值BackgroundProblem1Problem2Tomcat设置maxPostSize导致Post请求不过去问题排查问题分析SpringBoot配置内置Tomcat的maxPostSize值Background前端页面表单输入数据较多,包含多个文本、多张图片,在数据未压缩的情况下,最终上传失败。Problem1后端报错:java.lang.IllegalStateException:Themulti-partrequestcontainedparameterdata(excludinguploadedfiles)thatexcee... 继续阅读 >
202209-20 Spring Boot 和 Spring 到底有啥区别你知道吗 目录什么是Spring?什么是SpringBoot?1、Maven依赖2、MVC配置3、配置模板引擎4、SpringSecurity配置总结对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水随着经验的积累、我慢慢理解了这两个框架到底有什么区别。相信对于用了SpringBoot很久的同学来说,还不是很理解SpringBoot到底和Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!什么是Spring?... 继续阅读 >
202209-18 完整的医院就诊挂号系统基于Spring MVC + Spring + MyBatis实现 目录一、语言和环境二、实现效果三、实现代码资源下载:点此下载一、语言和环境1.实现语言:JAVA语言。2.环境要求:MyEclipse/Eclipse+Tomcat+MySQL。3.使用技术:SpringMVC+Spring+MyBatis或JSP+Servlet+JavaBean+JDBC。二、实现效果实现能够对患者姓名,医师类别、科室的模糊查询,用户点击核销以后状态变为已就诊。点击挂号实现基本信息的添加三、实现代码数据库:SETFOREIGN_KEY_CHECKS=0;-------------... 继续阅读 >
202208-12 Spring-IOC容器-Bean管理-基于XML方式超详解 目录Spring-IOC容器-Bean管理-基于XML方式Spring框架概述IOC概念和原理IOC操作Bean管理(set方式注入&&使用有参构造进行注入)IOC操作Bean管理(xml注入其他类型属性)IOC操作Bean管理(xml注入集合属性)IOC操作Bean管理(FactoryBean)IOC操作Bean管理(bean作用域)IOC操作Bean管理(bean生命周期)IOC操作Bean管理(XML自动装配)IOC操作Bean管理(外部属性文件)总结Spring-IOC容器-Bean管理-基于X... 继续阅读 >
202208-12 解决Spring AOP 同类调用失效问题 目录背景一目标二概述三工作中遇到的实例1.源代码2.原因分析四解决方法1.方法一2.方法二原理:3.方法三4.总结背景当初刚到公司实习不久,就遇到一个问题:在同一个类中,调用有@redis,@Transactional的方法,发现注解失效了。因为这个问题,我当时纠结了很久。最后,还是老大一语惊醒梦中人,归根结底,还是SpringAop原理没有理解彻底。今天就来聊一下关于"SpringAOP同类调用失效问题"。一目标深入探究"SpringAOP同类调... 继续阅读 >
202208-11 Spring AOP 对象内部方法间的嵌套调用方式 目录SpringAOP对象内部方法间的嵌套调用我们先定义一个接口以及此接口的一个实现类增加AOP处理同一对象内的嵌套方法调用AOP失效原因分析举一个同一对象内的嵌套方法调用拦截失效的例子原因分析解决方案SpringAOP对象内部方法间的嵌套调用前两天面试的时候,面试官问了一个问题,大概意思就是一个类有两个成员方法A和B,两者都加了事务处理注解,定义了事务传播级别为REQUIRE_NEW,问A方法内部直接调用B方法时能否触发... 继续阅读 >
202208-11 解决spring AOP中自身方法调用无法应用代理的问题 目录springAOP中自身方法调用无法应用代理如下例可以使用如下两种方式修改代码以应用事务(1)在MyServiceImpl中声明一个MyService对象(2)使用AopContext类springaop内部方法调用事务不生效方法1:方法2:springAOP中自身方法调用无法应用代理如下例publicclassMyServiceImplimplementsMyService{publicvoiddo(){//thetransactionannotationwon'tworkifyoudirectlyinvokehandle()methodwith'this'th... 继续阅读 >
202208-11 一篇文章带你了解Java Spring基础与IOC 目录AboutSpringAboutIOCHelloSpringHello.javaBeans.xmlTest.javaIOC创建对象的几种方式SpringimportsettingsDependencyInjection1.构造器注入2.set注入3.拓展注入P-namespcae&C-namespaceBeanscopessingletonprototypeBean的自动装配byNameautowirebyTypeautowire小结AboutSpring开源免费框架,轻量级,非入侵式框架。Spring就是一个轻量级的控制反转(IOC)和面向切片编程(AOP)的框架Mavenrepo:SpringWebMVC+... 继续阅读 >