Spring
文章平均质量分 89
熬夜加班写代码
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三万字盘点Spring最最核心的9大核心功能!
本节主要讲了实现IOC的几个核心的组件BeanFactory及其接口体系:BeanDefinition及其相关组件:BeanDefinitionReader和ClassPathBeanDefinitionScanner:读取资源,生成BeanDefinitionBeanDefinitionRegistry:存储BeanDefinitionBeanFactory核心实现:DefaultListableBeanFactory:IOC容器,同时实现了BeanDefinitionRegistry接口。原创 2025-11-11 22:09:39 · 700 阅读 · 0 评论 -
面试官:“谈谈Spring中都用到了那些设计模式?”。
定义一个事件: 实现一个继承自,并且写相应的构造函数;定义一个事件监听者:实现接口,重写方法;使用事件发布者发布消息: 可以通过的方法发布消息。// 定义一个事件,继承自ApplicationEvent并且写相应的构造函数// 定义一个事件监听者,实现ApplicationListener接口,重写 onApplicationEvent() 方法;@Component//使用onApplicationEvent接收消息@Override。原创 2025-10-19 15:15:26 · 982 阅读 · 0 评论 -
Java面试题(含答案)15个经典的Spring面试常见问题
Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 官网:https://spring.io/。我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。原创 2025-10-19 15:13:22 · 1022 阅读 · 0 评论 -
掌握 Spring 框架这 10 个扩展点,开发效率直接翻倍!
Component@Override@Service好了,今天的内容就到这里。对 Spring 框架感兴趣的读者可以关注我,后续会分享更多有关 Spring 的相关知识。原创 2025-10-17 21:25:30 · 455 阅读 · 0 评论 -
Spring AI + Ollama 实现 deepseek-r1 的API服务和调用!
最近DeepSeek开源了对openai-o1,因其极低的成本和与openai-o1相当的性能引发了国内外的激烈讨论。中的字幕翻译、视频翻译,效果也是非常不错的。但是,最近因为收到一些私有化的需求,所以对于API的调用就不可行了,不得不转向本地部署大模型,然后提供API的方式来实现。原创 2025-10-16 19:32:28 · 312 阅读 · 0 评论 -
如何用 Spring AI + Ollama 构建生成式 AI 应用?
通过本文的介绍,我们就已经完成了Spring Boot应用与Ollama运行的AI模型之间的对接。剩下的就是与业务逻辑的结合实现,这里读者根据自己的需要去实现即可。注意右侧选择Spring Web和Spring AI对Ollama的支持依赖。上述样例工程打包放公众号了,如果需要的话,关注"程序猿DD",发送关键词。使用IDEA或者任何你喜欢的工具打开该工程,工程结构如下;所以,如果要在现有工程引入的话只要引入。,下载、安装、启动 ollama。创建Spring Boot应用。选择你要使用的模型来启动即可。原创 2025-10-16 19:30:37 · 370 阅读 · 0 评论 -
Spring AI 更新:支持OpenAI的结构化输出,增强对JSON响应的支持!
Spring AI发了个比较重要的更新。由于最近OpenAI推出了结构化输出的功能,可确保 AI 生成的响应严格遵守预定义的 JSON 模式。此功能显着提高了人工智能生成内容在现实应用中的可靠性和可用性。Spring AI 紧随其后,现在也可以对OpenAI的结构化输出完美支持了。下图展示了本次扩展的实现结构,如果对于当前实现还不够满意,需要扩展的可以根据此图来着手理解分析进行下一步扩展工作。原创 2025-10-16 19:29:38 · 224 阅读 · 0 评论 -
Spring Retry 重试
重试的使用场景比较多,比如调用远程服务时,由于网络或者服务端响应慢导致调用超时,此时可以多重试几次。用定时任务也可以实现重试的效果,但比较麻烦,用Spring Retry的话一个注解搞定所有。话不多说,先看演示。首先引入依赖使用方式有两种:命令式和声明式。原创 2025-06-26 21:26:46 · 612 阅读 · 0 评论 -
Spring面试:@Resource 和 @Autowired 的区别?
。原创 2025-06-12 21:01:06 · 718 阅读 · 0 评论 -
面试官:@Transactional 什么情况下会失效?
注解在 Spring 中用于声明式事务管理,但在某些场景下会失效。后调用。通过 AopContext 获取代理:((MyService) AopContext.currentProxy()).b()(需开启 @EnableAspectJAutoProxy(exposeProxy = true))。我更喜欢把逻辑写到另一个类中,然后再进行调用。默认只捕获 RuntimeException和 Error。若抛出 IOException等,事务不会回滚。若异常被 catch后未重新抛出,事务失效。原创 2025-06-12 20:59:14 · 1045 阅读 · 0 评论 -
【Spring】如何控制bean的加载顺序?
其实在工作中,我相信很多人碰到过复杂的依赖关系的bean加载,把这种不确定性交给spring去做,还不如我们自己去控制,这样在阅读代码的时候 ,也能轻易看出bean之间的依赖先后顺序。原创 2025-06-09 21:42:59 · 830 阅读 · 0 评论 -
【Spring】如何控制bean的加载顺序?
springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题。在此基础上,又提供了spi机制,用可以完成一个小组件的自动装配功能。在一般业务场景,可能是不需要关心一个bean是如何被注册进spring容器的,只需要把需要注册进容器的bean声明为@Component即可,因为spring会自动扫描到这个Bean完成初始化并加载到spring上下文容器。但是,如果加载Bean的过程中部分Bean和Bean之间存在依赖关系,也就是说Bean A的加载需要等待Bean B加载完成之后才能进行;原创 2025-06-04 13:30:00 · 980 阅读 · 0 评论 -
【Spring】Spring事务管理深度解析-从实践到原理!
事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制。原创 2025-06-04 12:30:00 · 986 阅读 · 0 评论 -
【Spring】AOP中动态代理详解!
代理模式(Proxy pattern): 为另一个对象提供一个替身或占位符以控制对这个对象的访问【下载】Java面试、学习文档、进阶路线、算法、架构资源动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。原创 2025-06-03 14:01:41 · 849 阅读 · 0 评论 -
【Spring】从底层源码深入分析Bean的实例化
每次客户端请求 prototype 作用域的 Bean 时,Spring 容器都会创建一个新的实例,并且不会管那些被配置成 prototype 作用域的 Bean 的生命周期。而对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的实例后,Bean 的实例就交给客户端代码管理,Spring 容器。初始化前:BeanPostProcessor,也就是拿出所有的后置处理器对bean进行处理,当有一个处理器返回null,将不再调用后面的处理器处理。原创 2025-06-03 13:58:54 · 750 阅读 · 0 评论 -
【Spring】Spring中的循环依赖是怎么个事?
首先,有两种Bean注入的方式:构造器注入和属性注入。原创 2025-06-03 13:56:01 · 818 阅读 · 0 评论 -
【Spring】从底层源码深入分析Spring的IoC容器初始化过程 !
AbstractBeanDefinitionReader的loadBeanDefinitions方法源码如下:java@Override// 模式匹配类型的解析器,这种方式是加载多个满足匹配条件的资源try {// 获取到要加载的资源// 委派调用其子类XmlBeanDefinitionReader的方法,实现加载功能= null) {else {// 只能通过绝对路径URL加载单个资源.= null) {原创 2025-06-03 13:54:25 · 643 阅读 · 0 评论 -
【Spring】Spring框架IoC核心详解!
IoC(Inversion of Control:控制反转) 是一种设计思想,而不是一个具体的技术实现。IoC 的思想就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理,由Spring容器管理bean的整个生命周期。通俗来说就是IoC是设计思想,DI是实现方式。通过反射实现对其他对象的控制,包括初始化、创建、销毁等,解放手动创建对象的过程,同时降低类之间的耦合度。在 Spring 中,是 Spring 用来实现 IoC 的载体,原创 2025-06-02 21:51:30 · 963 阅读 · 0 评论 -
【Spring】Spring AOP基础、快速入门!
AOP,面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存、权限控制、限流等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。先看一个例子:如何给如下UserServiceImpl中所有方法添加进入方法的日志,java@Override@Override将记录日志功能解耦为日志切面,它的目标是解耦。进而引出AOP的理念:就是将分散在各个业务逻辑代码中相同的代码通过横向切割。原创 2025-06-02 21:50:13 · 729 阅读 · 0 评论 -
【Spring】全网最详细的Spring入门教程!
Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring的一个最大的目的就是使JAVA EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Ordinary Java Object)对象提供企业级的服务。原创 2025-06-02 21:48:15 · 1211 阅读 · 0 评论 -
工作中 Spring Boot 五大实用小技巧,来看看你掌握了几个?
Spring Boot 以其简化配置、快速开发和微服务支持等特点,成为了 Java 开发的首选框架。本文将结合我在实际工作中遇到的问题,分享五个高效的 Spring Boot 的技巧。希望这些技巧能对你有所帮助。原创 2024-12-09 16:41:45 · 1240 阅读 · 0 评论 -
Spring事务扩展机制——@Transactional
在进行数据库操作的时候,如果需要多个操作要么一起成功,要么一起失败那么就需要使用事务操作了。使用 Spring 框架只需要在方法上添加 @Transactional 注解这个方法就具有事务特性了。而且 Spring 也事务操作给开发者提供了很方便的扩展。...原创 2022-06-05 15:05:07 · 574 阅读 · 0 评论
分享