Spring
文章平均质量分 86
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。
呆萌宝儿姐
CSDN专家博主、阿里云开发者社区专家博主、51CTO社区专家博主、360书馆认证博主、知乎掘金B站等平台受邀作者。
如遇开发、程序等需求,博客首页下拉加入公众号,私信博主
展开
-
Java中DTO和VO的使用指南
在Java中,DTO和VO是常见的设计模式,它们分别用于数据传输和表达业务概念。在实际项目中,根据业务需求,我们可以巧妙地使用DTO和VO,使得代码更加清晰和易于扩展。通过这种设计,我们可以更好地处理不同层次之间的数据传递和业务展示,提高代码的质量和可读性。原创 2023-12-29 15:57:39 · 1403 阅读 · 0 评论 -
xml文档中<![CDATA[]]>的用法
我们知道,在xml中,””、”&”等字符是不能直接存⼊的,否则xml语法检查时会报错,如果想在xml中使⽤这些符号,必须将其转义为实体,如””、”&”,这样才能保存进xml⽂档。不管怎么样,转义前的字符也好,转义后的字符也好,都会被xml解析器解析,为了⽅便起见,使⽤”、”&”。原创 2022-10-30 20:21:16 · 2633 阅读 · 0 评论 -
spring.factories是什么?有什么用处?
在看一些开源项目时,我们常常会看到spring.factories 文件,或者读一些Spring-Boot 相关源码时也会遇到,从网上查了查,这个的作用是记录所有需要自动装配进 Spring 容器 bean类,如果你想要实现自己的自动配置,就将你的类通过键值对的方式写在你的spring.factories即可。原创 2022-10-29 14:42:03 · 2211 阅读 · 0 评论 -
SpringBean什么时候用单例模式什么时候用多例?
在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)Spring bean 默认是单例模式。原创 2022-10-17 18:37:39 · 1742 阅读 · 0 评论 -
Spring 七大模块介绍
Spring 由七大模块组成,分别是Spring 核心容器(Spring Core)、应用上下文(Spring Context)、Spring面向切面编程(Spring AOP)、JDBC和DAO模块(Spring DAO)、对象实体映射(Spring ORM)、Web模块(Spring Web)以及MVC模块(SpringWebMVC)。拓展了Spring上下文,提供Web应用上下文,对Web开发提供功能上的支持,如请求、表单、异常等。提供对JDBC的支持,还提供了DAO的支持,提供事务支持。原创 2022-11-04 17:28:08 · 1951 阅读 · 0 评论 -
Spring AOP 实现方式与应用
AOP(Aspect Oriented Programming)是面向切面编程,它是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为独立的模块。连接点(join point):对应的是具体被拦截的对象,因为Spring只能支持方法,所以被拦截的对象往往就是指特定的方法,AOP将通过动态代理技术把它织入对应的流程中。切点(point cut):有时候,我们的切面不单单应用于原创 2022-08-24 21:57:20 · 1683 阅读 · 0 评论 -
Spring 事务失效的八种场景
而父容器和子容器的区别。比如父容器有a.b.c三个bean对象,子容器有d.e.f三个bean对象,子容器就可以通过getBean方法调用父容器的a.b.c bean对象,而父容器不能通过getBean拿到子容器的d.e.f三个bean对象。其中也要弄清楚的是父子容器并不是一种包含关系,而是平行关系,但是在子容器中有一个parent,指向父容器,也就是说子容器在通过getBean访问父容器中的bean对象时是通过parent访问。解法2:不要用父子容器,所有 bean 放在同一容器。原创 2022-08-25 10:47:30 · 2605 阅读 · 2 评论 -
Spring 容器相关理解
在不采用这种思想的情况下,我们需要自己维护对象与对象之间的依赖关系,很容易造成对象之间的耦合度过高,在一个大型的项目中这十分的不利于代码的维护。IoC则可以解决这种问题,它可以帮我们维护对象与对象之间的依赖关系,降低对象之间的耦合度。如果单例的Bean是一个无状态的Bean,即线程中的操作不会对Bean的成员执行查询以外的操作,那么这个单例的Bean是线程安全的。在不采用这种思想的情况下,我们需要自己维护对象与对象之间的依赖关系,很容易造成对象之间的耦合度过高,在一个大型的项目中这十分的不利于代码的维护。.原创 2022-08-26 20:00:47 · 1400 阅读 · 0 评论 -
@Autowired用法与原理解析
定义一个UserRepository接口的实现类,并实现save方法,注意,在这里指定了该bean在IoC中标识符名称为userRepository,后面我们使用的时候可以从容器上下文中获取。然后我们定义服务类,这里需要一个UserRepository类型的属性实例,通过@Autowired自动装配方式,从IoC容器中去查找到,并返回实例。后置处理器,当容器扫描到@Autowied、@Resource或@Inject时,就会在IoC容器自动查找需要的bean,并装配给该对象的属性。...原创 2022-08-26 19:57:47 · 2513 阅读 · 0 评论 -
Spring管理Bean(XML与注解方式)
创建对象注入属性。原创 2022-08-26 18:39:00 · 1719 阅读 · 0 评论 -
SpringBean生命周期详解 | 有图有真相
既然叫反转,肯定就有正转,正转其实就是对象去找实例,而反转就反过来了嘛,让实例来找对象;怎么找呢?当然是通过容器啦!原创 2022-08-26 17:27:07 · 9460 阅读 · 2 评论 -
Spring MVC的执行流程(有图有真相)
所以我们要学习它,很重要的。DispatcherServlet接收到这个请求后,将根据请求的信息(包括URL、HTTP方法、请求报文头、请求参数、Cookie等)及HandlerMapping的配置找到处理请求的处理器(Handler)。最终客户端得到的响应消息可能是一个普通的HTML页面,也可能是一个XML或JSON串,甚至是一张图片或一个PDF文档等不同的媒体形式。我们先回顾一下MVC的概念,便于我们学习Spring MVC的执行流程。将软件分层的好处是,可以将对象之间的耦合度降低,便于代码的维护。原创 2022-08-25 10:50:09 · 1877 阅读 · 0 评论 -
Spring的注解@Qualifier注解
比如,有两个service实现了统一业务接口,并且都标注了@Service注解,Spring 允许我们通过 @Qualifier 注释指定注入 Bean 的名称,这样歧义就消除。@Qualifier是Spring中的注解,是在使用Spring框架中@Autowired注解进行自动注入时,Spring 容器中匹配的候选Bean数目必须有且仅有一个。也就是说:@Qualifier注解就是通过名字挑选符合条件的,通过这个标示,表明了哪个实现类才是我们所需要的。使用:配合autowired使用。...原创 2022-08-07 10:45:38 · 5521 阅读 · 0 评论 -
SpringMVC 拦截器从入门到实战
拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行在指定的方法调用前后执行预先设定的代码阻止原始方法的执行总结增强核心原理利用AOP思想开发拦截器实现handlerInterceptor接口,从三个方法中选择合适的方法,实现拦截时要执行的具体业务逻辑。注册拦截器定义配置类,并让它实现WebMvcConfigurer接口,在接口的addInterceptors方法中,注册拦截器,并定义该拦截器匹配哪些请求路径。...原创 2022-07-30 16:48:29 · 1590 阅读 · 3 评论 -
SpringMVC常用注解总结
越学越乱,哎,根据用到的,按照用的顺序总结下吧首先放在最上面的就是@Controller用于声明这是个SpringBean。原创 2022-07-30 14:59:33 · 1552 阅读 · 0 评论 -
Java 过滤器与拦截器的区别
最近发博客发到阈值了,快吐了,缓缓我再给大家深入探究下,这次先看转载吧。转载 2022-07-27 23:37:54 · 952 阅读 · 1 评论 -
Druid连接池——从0开始坚强的一点点的自学,Druid一点不懂的可以点进来,懂得别点进来,点进来你会嫌我啰嗦的
Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Loging能诊断Hack应用行为。哦,首先Druid是一个数据库连接池,第一次学,我也不知道,那么先来看看什么的数据库连接池数据库连接池(DatabaseConnectionPooling)在程序初始化时创建一定数量的数据库连接对象并将其保存在一块内存区中,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;翻译成中文就是数据源连接池。......原创 2022-07-25 00:00:11 · 1932 阅读 · 0 评论 -
Spring 事务相关配置
但是对于编译器异常,Spring事务是不进行回滚的,所以需要使用rollbackFor来设置要回滚的异常。例如methodA方法调用methodB方法时,methodB是继续在调用者methodA的事务中运行呢,还是为自己开启一个新事务运行,这就是由methodB的事务传播行为决定的。但是对于编译器异常(例如IOException),Spring事务是不进行回滚的。虽然学会了使用Spring回滚事务,但是有一种异常Spring事务默认是不进行回滚的那就是编译器异常。......原创 2022-07-25 00:00:17 · 2425 阅读 · 0 评论 -
Spring 事务快速入门详解
事务指数据库中多个操作合并在一起形成的操作序列。原创 2022-07-25 00:00:25 · 1497 阅读 · 0 评论 -
Spring AOP实战:百度网盘密码数据兼容处理
有同学肯定会说,害,直接在函数里对字符串处理呗,但是随着业务的增多,不止获取网盘资源要去除这个空格,当还有其他业务要进行这样的操作的时候,我们还得再写一遍代码非常的麻烦,所以,用AOP就能很好的完成这个需求。我们复制密码的时候有时候可能会把后面默认添加的空格复制上,但是即使我们加了空格,百度网盘依然能识别密码,这是怎么做的呢?需求对百度网盘分享链接输入密码时尾部多输入的空格做兼容处理。想到了AOP,我们再来理一下这里面实现的逻辑。那么用什么通知才能完成这个需求呢?例如下面的百度网盘分享链接。...原创 2022-07-24 11:09:14 · 1705 阅读 · 0 评论 -
Spring AOP切入点数据的获取
遗留问题还存在一个问题,我们可以通过ProceedingJoinPoint执行切入点函数,那么我们在环绕通知中可以获取到数据吗?原创 2022-07-24 10:52:35 · 2650 阅读 · 0 评论 -
Spring AOP的5种通知类型
AOP通知描述了抽取的共性功能,根据共性功能抽取的位置不同,最终运行代码时要将其加入到合理的位置。编写通知类,我们使用5种通知类型分别配置update与save方法上。接下来我们将save中的除0操作取消注释。编写配置类,开启切面编程配置。再运行,发现运行异常通知。.........原创 2022-07-24 10:12:11 · 5907 阅读 · 0 评论 -
Spring AOP切入点表达式
问题1按照上面的形式去编写切入点,一个两个还行,要是该类中的很多方法都要编写AOP是十分麻烦的,那么我们该如何简化切入点表达式中包名和参数类型书写?还是刚才的update函数,虽然我们编程是按照接口编程,但是最后运行还是实现类,所以下面两个对于接口与实现类的update描述方式都是对的。例如匹配com.yyl包下的任意包中的UserService类或接口中所有find开头的带有一个参数的方法。例如匹配com包下的任意包中的UserService类或接口中所有名称为findById的方法。......原创 2022-07-24 09:13:30 · 1469 阅读 · 0 评论 -
Spring AOP快速入门详解
AOP(AspectOrientedProgramming)面向切面编程,一种编程范式,指导开发者如何组织程序结构OOP(ObjectOrientedProgramming)面向对象编程作用在不惊动原始设计的基础上为其进行功能增强。简单的说就是在不改变方法源代码的基础上对方法进行功能增强。相当于给一个函数附加功能,例如给吕布的大招加上技能前特效摇摆与技能后特效唱歌,那么吕布再摁下大招,先会摇摆一下,再跳大,跳完大技能还没结束,还得唱个歌。Spring理念无入侵式/无侵入式。.........原创 2022-07-24 08:54:58 · 1756 阅读 · 0 评论