
Spring
文章平均质量分 52
红豆和绿豆
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
springmvc中如何自定义入参注解并自动注入值
在Spring中,`HandlerMethodArgumentResolver` 是一个非常强大的接口,用于自定义控制器方法参数的解析逻辑。以下是一个完整的示例,展示如何使用 `HandlerMethodArgumentResolver` 并结合自定义注解来实现特定的参数解析逻辑。// 检查参数是否带有 @CurrentUser 注解,并且类型是否为 User 类型。// 获取当前用户信息,这里假设从请求中获取用户ID,并根据ID获取用户信息。// 这里是你的逻辑来获取当前用户,例如从数据库中查询。原创 2025-03-19 08:57:48 · 553 阅读 · 0 评论 -
springmvc中使用interceptor拦截
`preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)`:在请求处理之前被调用,返回`true`表示继续执行后续的拦截器或Controller,返回`false`表示中断执行。启动Spring Boot应用后,访问 `/api/**` 路径下的任何接口,`CustomInterceptor` 都会拦截请求并执行相应的逻辑。.addPathPatterns("/**") // 拦截所有路径。原创 2025-03-19 08:53:19 · 1099 阅读 · 0 评论 -
springmvc中,Filter使用
启动Spring Boot应用后,访问 `/api/*` 路径下的任何接口,`CustomFilter` 都会拦截请求并打印日志。#### **方式三:使用 `@WebFilter` 注解(Servlet 3.0+)**#### **方式二:实现 `FilterRegistrationBean`**#### **方式一:使用 `@Bean` 注册**### **1. 创建自定义 `Filter`**### **2. 注册 `Filter`**### **3. 测试 `Filter`**原创 2025-03-19 08:50:00 · 707 阅读 · 0 评论 -
springboot项目中一个类的构造方法什么时候调用
3. **自动配置的 Bean 实例**:在 Spring AI 的场景中,`ChatClient.Builder` 是通过 Spring 的自动配置机制创建的 Bean 实例。在 Spring Boot 中,如果一个类没有默认的无参构造方法,但定义了一个带参数的构造方法,Spring 会自动调用这个带参数的构造方法来完成依赖注入。这是 Spring 的构造器注入机制的一部分。2. **依赖注入的优先级**:如果一个类中同时存在无参构造方法和带参构造方法,Spring 会优先选择带参构造方法进行依赖注入。原创 2025-03-09 20:27:36 · 372 阅读 · 0 评论 -
java开发者如何开发ai
GitHub 地址:[https://github.com/springaialibaba/spring-ai-alibaba-examples](https://github.com/springaialibaba/spring-ai-alibaba-examples)GitHub 地址:[https://github.com/spring-ai/spring-ai-samples](https://github.com/spring-ai/spring-ai-samples)原创 2025-03-04 08:50:25 · 627 阅读 · 0 评论 -
spring生命周期函数引发的内存泄漏
BeanPostProcessor 是容器正在启动的时候,只要这个类被spring管理,这个方法都会被调用。因此这个方法需要做判断是否为空,或者使用InitializingBean 这个接口的方法,保证只回调一次。4、BeanPostProcessor 前置处理。5、是否实现InitializingBean接口。7、BeanPostProcessor后置处理。10、是否实现DisposableBean接口。3、检查Aware的相关接口并设置相关依赖。6、是否自定义init-method。原创 2024-10-27 14:48:28 · 50 阅读 · 0 评论 -
springboot启动自动配置加载过程
原创 2024-08-20 22:13:01 · 170 阅读 · 0 评论 -
玩转 Spring 全家桶
如果你不是一个小白,可以学习一下玩转 Spring 全家桶--丁雪峰 这个老师讲解的挺好的,在实际的工作中也是有用到的。学习还是要看视频快入的掌握全局,然后有时间在去看官方的英文文档在详细的了解。很多时候学习要快速的掌握。原创 2024-04-25 00:03:38 · 283 阅读 · 0 评论 -
如何在一个工具的类中注入Spring的bean
静态方法注入springbean原创 2022-04-12 21:48:12 · 801 阅读 · 0 评论 -
如何在Spring事物提交之后做一些事情
如何在Spring事物提交之后做一些事情原创 2022-04-07 09:15:56 · 520 阅读 · 0 评论 -
springboot的基本启动原理
springboot的基本启动原理原创 2022-04-04 16:13:16 · 303 阅读 · 0 评论 -
tomcat与Spring的关系
spring原创 2022-04-04 15:57:40 · 1533 阅读 · 0 评论 -
mysql报错wait_time问题
springboot 连接池wait_timeout超时设置,使用springboot 线程池连接MySQL时,mysql数据库wait_timeout 为8个小时,所以程序第二天发现报错,在url配置了 autoReconnect=true 也不行,查询配置以下#验证连接的有效性spring.datasource.test-while-idle=true#获取连接时候验证,会影响性能spring.datasource.test-on-borrow=truespring.datasour原创 2021-10-16 14:54:12 · 1214 阅读 · 0 评论 -
spring的RedisTemplate连接redis
(1)maven的版本 <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.3.0.RELEASE</version>(2)配置类@EnableCaching@Configurationpublic class RedisConfig ext原创 2021-10-12 21:23:18 · 2379 阅读 · 0 评论 -
Spring如何接入多数据源进行配置
@Configuration@MapperScan(basePackage={},sqlSessionFactoryRef="asqlSessionFactory"sqlSessionTemplateRef="aSqlSessionTemplate")public class ADataSourceConfiguration(){@Bean(name="aDataSource")@ConfigurationProperties(prefix="spring.datas...原创 2021-10-10 14:42:36 · 476 阅读 · 0 评论 -
springboot自动装配原理
这个是spring的ioc容器启动类spring中一个类可以加载到spring容器中的几种方法@SpringBootConfiguration==Configuration 表示 被Bean 修饰的类可以被加载到spring 的容器中@EnableAutoConfiguration =这个注解是关键@Import({Registrar.class})@Import({EnableAutoConfigurationImportSelector.class})重点的一个...原创 2021-08-11 22:25:01 · 134 阅读 · 0 评论 -
spring基本原理讲解
(一)spring的ioc的原理(1)首先收集一些bean componentScan(2)从收集的这边bean中 抽象出BeanDefinnation 也就创建对象实例的元数据(3)基于BeanDefinnation创建对象 可以使用反射,cglib等字节码技术进行创建spring基于这三个步骤,进行容器的初始化以及对象的实例化,同时进行大量的扩展(二)怎么才能扩展呢,那么就必须了解spring 的生命周期的方法针对spring容器,针对bean的 生命周期扩展方法BeanF.原创 2021-08-07 10:19:54 · 222 阅读 · 0 评论 -
@ConditionalOnProperty, ConditionalOnClass
在spring boot中有时候需要控制配置类是否生效,可以使用@ConditionalOnProperty注解来控制@Configuration是否生效.配置类代码:@Configuration@ConditionalOnProperty(prefix = "filter",name = "loginFilter",havingValue = "true")public class FilterConfig { //prefix为配置文件中的前缀, //name为配置的名字...原创 2021-05-24 13:11:41 · 554 阅读 · 0 评论 -
如何使用拦截器做一些事情
@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.METHOD})@Documentedpublic @interface CheckLogin {}@Slf4j@Aspect@Componentpublic class CheckLoginInterceptor { @Resource private LoginService loginService; @Pointcut("@annotat.原创 2020-11-01 14:22:47 · 151 阅读 · 0 评论 -
Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合
http://blog.youkuaiyun.com/songanling/article/details/22454973最新版Struts2+Hibernate+Spring整合 目前为止三大框架最新版本是: struts2.3.16.1 hibernate4.3.4 spring4.0.2 其中struts转载 2015-11-27 10:04:32 · 419 阅读 · 0 评论 -
Spring3数据库事务管理机制
Spring对事务的解决办法其实分为2种:编程式实现事务,AOP配置声明式解决方案。 http://jinnianshilongnian.iteye.com/blog/1496953 Spring提供了许多内置事务管理器实现,常用的有以下几种: DataSourceTransactionManager:位于org.springframework.jdbc.datasourc转载 2016-06-10 17:54:37 · 1054 阅读 · 0 评论 -
Spring 让 LOB 数据操作变得简单易行
http://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/本文讲解了在 Spring 中处理 LOB 数据的原理和方法,对于 Spring JDBC 以及 Spring 所集成的第三方 ORM 框架(包括 JPA、Hibernate 和 iBatis)如何处理 LOB 数据进行了阐述。陈 雄华 (quicks转载 2016-07-27 11:37:02 · 562 阅读 · 0 评论 -
spring framework源码下载并导入eclipse
http://blog.youkuaiyun.com/buyaore_wo/article/details/8977746一. 准备工作1.下载安装sts(springsource推荐使用), 毕竟人家的框架用他自家的ide是最好的,当然sts也是基本eclipse的, 下载地址: http://www.springsource.org/downloads/sts-ggts2.下载转载 2016-08-08 10:15:15 · 355 阅读 · 0 评论 -
Spring中bean的生命周期
获取bean的方法1.从ApplicationContex应用上下文容器中获取bean和从bean工厂容器中获取bean具体案例:从ApplicationContext中取beanApplicationContextac=new ClassPathXmlApplicationContext("com/hsp/ioc/beans.xml");当我们去实例化be原创 2016-10-22 16:19:14 · 415 阅读 · 0 评论 -
Spring中的FactoryBean
从SessionFactory说起:在使用SSH集成开发的时候,我们有时候会在applicationContext.xml中配置hibernate的信息,下面是配置SessionFactory的一段示例代码:[html] view plain copy bean id="sessionFactory" class原创 2016-10-22 16:42:06 · 260 阅读 · 0 评论 -
spring中MessageSource实现国际化i18n
Spring定义了访问国际化信息的MessageSource接口,并提供了几个易用的实现类。首先来了解一下该接口的几个重要方法: String getMessage(String code, Object[] args, String defaultMessage, Locale locale) code表示国际化资源中的属性名;args用于传递格式化串占位符所用的运行期参数;转载 2016-10-22 17:41:57 · 3394 阅读 · 1 评论 -
Spring中ReloadableResourceBundleMessageSource的使用
如何在spring mvc框架中实现MessageSource来管理国际资源文件呢如下:1.在applicationContext.xml文件内配置如下[java] view plain copy"font-size:14px;">"messageSource" class="org.springframework.context.sup原创 2016-10-22 17:50:05 · 12061 阅读 · 0 评论 -
Spring 中ResourceBundleMessageSource的使用
ApplicationContext接口扩展了MessageSource接口,因而提供了消息处理的功能(i18n或者国际化)。与HierarchicalMessageSource一起使用,它还能够处理嵌套的消息,这些是spring提供的处理消息的基本接口。让我们快速浏览一下它所定义的方法:String getMessage(String code, Object[] args, S原创 2016-10-22 17:52:08 · 1660 阅读 · 0 评论 -
Spring基于注解TestContext 测试框架使用详解
原创整理不易,转载请注明出处:Spring基于注解TestContext 测试框架使用详解代码下载地址:http://www.zuidaima.com/share/1775574182939648.htm概述spring 2.5 相比于 Spring 2.0 所新增的最重要的功能可以归结为以下 3 点:基于注解的 IoC 功能;基于注解驱动的 Spring MV转载 2016-11-03 10:49:46 · 417 阅读 · 0 评论 -
Spring中使用ApplicationContext进行事件的监听之ApplicationEvent,ApplicationListener
spring的ApplicationEvent的使用 Spring 3.0中提供了很多类似*Aware的类,其中ApplicationContextAware接口可以实现我们在初始化bean的时候给bean注入ApplicationConxt(Spring上下文对象)对象。ApplicationContextAware接口提供了publishEvent方法,实现了Observe(观察原创 2016-10-23 11:32:11 · 3496 阅读 · 0 评论 -
Spring中的ContextLoaderListener使用
最近 项目中使用Spring 时,applicationContext.xml配置文件中并没有BeanFactory,要想在业务层中的class 文件中直接引用Spring容器管理的bean可通过以下方式 1、在web.xml配置监听器ContextLoaderListener org.springframework.web.context.ContextLoad原创 2016-10-23 13:40:26 · 364 阅读 · 0 评论 -
spring项目中监听器作用-ContextLoaderListener与Tomcat容器中的ServletContextListener
作用:在启动Web 容器时,自动装配Spring applicationContext.xml 的配置信息。因为它实现了ServletContextListener 这个接口,在web.xml 配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener 中关联了ContextLoader 这个类,所以整个加载配置过程由ContextLoader 来完成原创 2016-10-23 14:05:52 · 3554 阅读 · 0 评论 -
Spring的contextLoader详解
public class ContextLoader { public static final String CONTEXT_CLASS_PARAM = "contextClass"; //此处定义了spring配置文件的参数名称,和web.xml中的 contextConfigLocation /WEB-INF/appl转载 2016-10-23 14:18:04 · 716 阅读 · 0 评论 -
Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别
和 的区别 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解。除了具有的功能之外,还可以在指定的package下扫描以及注册javabean 。下面我们通过例子来详细查看他们的区别,有三个class A,B,C,并且B,C的对象被注入到A中.package com.xx转载 2016-10-23 15:53:38 · 299 阅读 · 0 评论 -
Spring3.0 注解入门
一、各种注解方式1. @Autowired注解(不推荐使用,建议使用@Resource)@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。要使@Autowired能够工作,还需要在配置文件中加入以下bean class="org.springf转载 2016-10-23 16:13:52 · 372 阅读 · 0 评论 -
spring事务的传播特性
spring 事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务。结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷。其实这种是不认识 Spring 事务传播机制而造成的误解,Spring 对事务控制的支持统一在 TransactionDefinition 类中描述,该类有以下几个重要的接口方法:int getPropagationBeha转载 2016-11-03 16:13:24 · 273 阅读 · 0 评论 -
Spring事务隔离级别
一、Propagation (事务的传播属性)Propagation : key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。P转载 2016-11-03 17:44:02 · 245 阅读 · 0 评论 -
Spring JDBC详解
本文旨在讲述spring JDBC模块的用法。Spring JDBC模块是Spring框架的基础模块之一。作者:chszs,转载需注明。博客主页:http://blog.youkuaiyun.com/chszs一、概述在Spring JDBC模块中,所有的类可以被分到四个单独的包:1)core即核心包,它包含了JDBC的核心功能。此包内有很多重要的类,包括:JdbcTempla转载 2016-11-04 09:45:16 · 294 阅读 · 0 评论 -
Spring整合Hibernate的步骤
为什么要整合hibernate?1、使用spring的IOC功能管理SessionFactory对象 LocalSessionFactoryBean2、使用Spring管理Session对象 HibernateTemplate3、使用Spring的功能实现声明式的事务管理整合Hibernate的步骤:1、配置SessionFactory(可以自动完成)转载 2016-11-04 13:08:45 · 247 阅读 · 0 评论 -
整合Hibernate和Spring
如果说上篇博客中的整合是以为Spring的IOC可以管理对象,让Struts2里的对象管理变得更方便。那么Hibernate与Spring的整合的好处就是,可以将SessionFactory的实例交由Spring容器管理,那么我们只需要这一个实例就可以了。还有一点就是声明式的事务管理非常方便。 需要以下配置: 1、配置applicationContext.xml文件,转载 2016-11-04 13:12:50 · 222 阅读 · 0 评论