- 浏览: 3420647 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
http://my.oschina.net/simpleton/blog/692799
有两个服务器类,需要SpringContext在InitAfterSpringContextService之前初始化:
1、SpringContext
spring容器的上线文环境
2、InitAfterSpringContextService
在Spring初始化完成之后执行一些初始化任务(需要在SpringContext执行完成之后执行)
通过使用implements ApplicationListener<ContextRefreshedEvent>可以监听spring容器是否初始化完成。
有两个服务器类,需要SpringContext在InitAfterSpringContextService之前初始化:
1、SpringContext
spring容器的上线文环境
package com.cdelabcare.pubservice; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Service; /** * Spring上下文环境 */ @Service public class SpringContext implements ApplicationContextAware { /** Spring应用上下文环境 */ private static ApplicationContext applicationContext; /** * 实现ApplicationContextAware接口的回调方法,设置上下文环境 * <pre> * 当spring容器加载完后会触发该方法 * </pre> * @param applicationContext {@link ApplicationContext} * @throws BeansException */ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringContext.applicationContext = applicationContext; } /** * @return ApplicationContext */ public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 获取对象 * * @param name * @return Object 一个以所给名字注册的bean的实例 * @throws BeansException */ public static Object getBean(String name) throws BeansException { return applicationContext.getBean(name); } /** * 获取类型为requiredType的对象 * 如果bean不能被类型转换,相应的异常将会被抛出(BeanNotOfRequiredTypeException) * * @param name * bean注册名 * @param requiredType * 返回对象类型 * @return Object 返回requiredType类型对象 * @throws BeansException */ public static <T> T getBean(String name, Class<T> requiredType) throws BeansException { return applicationContext.getBean(name, requiredType); } }
2、InitAfterSpringContextService
在Spring初始化完成之后执行一些初始化任务(需要在SpringContext执行完成之后执行)
package com.cdelabcare.service.serviceutil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.stereotype.Service; import com.cdelabcare.pubservice.SpringContext; /** * 初始化Spring完成之后的操作 * @create pengjunhao * @createDate 2016年6月16日 上午10:06:11 * @update * @updateDate */ @Service public class InitAfterSpringContextService implements ApplicationListener<ContextRefreshedEvent> { /** 日志 */ private static final Logger LOGGER = LoggerFactory .getLogger(InitAfterSpringContextService.class); /** 引入SpringContext的依赖,主要为了让SpringContext优先加载 */ @Autowired private SpringContext springContext; /* * 监听事件 * @see org.springframework.context.ApplicationListener#onApplicationEvent(org.springframework.context.ApplicationEvent) */ @Override public void onApplicationEvent(ContextRefreshedEvent event) { //root application context 没有parent if (event.getApplicationContext().getParent() == null) { LOGGER.info("【初始化事务....】"); // TODO something } } }
通过使用implements ApplicationListener<ContextRefreshedEvent>可以监听spring容器是否初始化完成。
发表评论
-
Spring Boot 属性配置
2016-06-24 11:04 1180Spring Boot 属性配置和使用 http://blog ... -
Spring Boot 集成MyBatis
2016-06-24 10:55 2024Spring Boot 集成MyBatis http://bl ... -
Spring MVC防重复提交
2016-06-17 15:47 1643http://my.oschina.net/zyqjustin ... -
使用spring-session和shiro来代理session的配置
2016-06-16 11:21 12055使用spring-session和redis来代理sessio ... -
JSTL 的 if else : 有 c:if 没有 else 的处理
2016-06-14 09:52 1332http://blog.csdn.net/xiyuan1999 ... -
spring mvc 请求转发和重定向
2016-06-14 09:48 1397http://blog.csdn.net/jackpk/art ... -
mvc:view-controller
2016-05-18 10:26 1081http://blog.csdn.net/lzwglory/a ... -
spring配置事物的方式:注解和aop配置
2016-05-14 00:26 4101参考: Spring AOP中pointcut express ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2286http://www.oschina.net/p/uncode ... -
Mybatis分库分表扩展插件
2016-05-12 15:47 1620http://fangjialong.iteye.com/bl ... -
spring+mybatis+atomikos 实现JTA事务
2016-05-11 22:00 5522sping配置多个数据源 不同用户操作不同数据库 http:/ ... -
Spring中使用注解 @Scheduled执行定时任务
2016-05-10 09:39 1565原文:http://dwf07223.blog.51cto.c ... -
Spring中配置Websocket
2016-05-05 16:55 1276spring+websocket整合(springMVC+sp ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1314集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4790使用Spring-data进行Redis操作 http://z ... -
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
2016-05-03 13:35 1059Spring4新特性——集成Bean Validation 1 ... -
SpringMVC介绍之Validation
2016-05-03 13:10 983SpringMVC介绍之Validation http://h ... -
spring 注解方式下使用commons-validator 验证表单
2016-05-03 11:08 3075原文: http://www.programgo.com/ar ... -
Spring MVC学习详解
2016-04-28 09:13 1002原文 http://blog.csdn.net/alsocod ... -
Hessian 二进制RPC协议整合到SpringMVC
2016-04-27 09:47 1739SpringMVC集成Hessianhttp://blog.c ...
相关推荐
"Spring Boot 容器加载完成后执行特定操作" Spring Boot 框架提供了多种方式来执行容器加载完成后的特定操作,例如使用 ApplicationListener 接口或使用 @PostConstruct 注解。在本文中,我们将介绍使用 ...
Spring Boot 容器加载时执行特定操作 Spring Boot 框架提供了多种方式来执行容器加载时的特定操作。其中一种方式是通过实现 ApplicationListener 接口,并指定相应的事件来执行操作。 ApplicationListener 接口是 ...
该接口只有一个方法`postProcessBeanFactory`,该方法在容器加载完成之后被调用,可以用来改变容器中的配置或做一些初始化工作。 ```java public interface BeanFactoryPostProcessor { void ...
Spring容器是Spring框架的核心组成部分,它负责管理对象的生命周期和对象之间的依赖关系。Spring容器的主要职责是读取配置元数据,创建和组装Bean,并提供Bean的完整生命周期管理。本篇内容将深入探讨Spring容器的...
本实例将带你深入理解Spring容器的基本使用,通过实际操作来帮助你快速上手。 1. **Spring容器概述** Spring容器是Spring框架的核心,负责管理对象的生命周期和依赖关系。主要有两种类型的容器:BeanFactory和...
Spring通过代理模式实现AOP,可以生成JDK动态代理或CGLIB代理,使得切面可以在目标对象的方法调用前后执行特定的逻辑。 五、Spring Boot启动流程 对于使用Spring Boot的应用,其启动流程更简化。Spring Boot通过`...
在Spring框架中,动态加载配置文件是一项重要的...总的来说,Spring动态加载配置文件涉及到IoC容器、属性源、配置加载策略和刷新机制等多个方面。理解和掌握这些知识点,可以帮助我们构建更加灵活和适应性强的应用。
在Spring框架中,Bean的加载顺序是理解Spring IoC(Inversion of Control,控制反转)容器工作原理的关键部分。这个过程涉及到Bean定义的解析、实例化、初始化等多个步骤。让我们详细探讨Spring Bean加载顺序的各个...
- `TaskScheduler`接口:提供了一种声明式的任务调度方式,可以通过实现该接口并配置到Spring容器中来定制调度策略。 - `ThreadPoolTaskScheduler`:Spring提供的一个默认实现,基于线程池的任务调度器,可以控制...
Spring容器是Spring框架的核心组成部分,它负责管理和控制应用程序中的对象,这些对象被称为Bean。Spring容器主要有两种接口形式:BeanFactory和ApplicationContext,后者是前者的子接口。这两种接口都是用来表示...
- 确保Spring容器已经正确加载了所有的配置信息。 - 在开发过程中,建议使用简单的Cron表达式进行测试,避免复杂的表达式导致调试困难。 - 如果应用程序部署在集群环境中,需要考虑定时任务的并发执行问题。 通过...
在Spring容器初始化时,它会根据配置加载Bean的定义,并根据需要创建Bean实例。Bean的生命周期大致分为以下几个阶段:构造、初始化、正常使用、销毁。如果一个Bean被创建了两次,那么可能是在构造或初始化阶段出现了...
《Spring加载RESTful服务详解及源码分析》 在当今的Web开发中,RESTful API已经成为构建可扩展、易于维护的系统的重要组成部分。Spring框架,作为Java生态系统中的中流砥柱,提供了强大的支持来实现RESTful服务。本...
通过对IoC(Inversion of Control,控制反转)的实现,Spring容器将对象的创建和组装工作从应用代码中分离出来,使得应用更易于测试和维护。本文将从实现的角度,通过对外部接口、内部实现、组成部分和执行过程四个...
Spring容器主要分为两种类型:ApplicationContext和BeanFactory。ApplicationContext是Spring中最常用的容器,它提供了更高级的功能,如对国际化、事件传播、资源加载等的支持。BeanFactory是Spring的基本容器,负责...
5. **Bean的生命周期**:Spring容器对Bean的生命周期进行管理,包括初始化、正常使用、销毁等阶段,开发者可以自定义生命周期回调方法以进行特定操作。 ### Spring AOP **面向切面编程(AOP)** 是Spring的另一个...
System.out.println("spring容器初始化完毕================================================"); } } ``` 在上面的示例代码中,我们使用 @Component 注解将 BeanDefineConfigue 类注册为 Spring 容器中的一个 ...
首先,通过实现ApplicationListener接口,可以在Spring容器启动后获取所有的Bean中实现了一个特定接口的对象。ApplicationListener是一个事件监听器接口,用于监听Spring容器中的事件。ContextRefreshedEvent是一个...
通过以上这些注解,开发者可以更精细地控制Spring容器中bean的创建、初始化、销毁以及依赖关系。理解并熟练运用这些工具,能够提高代码的可维护性和灵活性。在实际项目中,合理利用这些特性,可以有效地减少配置文件...