spring是个不错的东东。如果你的项目全部都是采用这个框架的话,那么恭喜你,spring会在容器里帮你管理你所有的对象。如果你的项目是其他框架+spring混合使用,那么spring外部如何去获取spring相信会是个问题。
1。直接获取
直接构造ApplicationContext :
ApplicationContext ctx = new ClasspathXmlApplicationContext("ApplicationContext.xml");
在Web环境里使用ServletContextListener获取ServletContext然后创建一个ApplicationContext的单例就可以在任何地方都用到spring了。
监听器:
public class SpringServletContextListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {}
public void contextInitialized(ServletContextEvent arg0) {
SpringContext.initialize(arg0.getServletContext());
}
}
Spring容器管理:
public final class SpringContext {
private static BeanFactory springBeanFactory = null;
public synchronized static boolean initialize(ServletContext servletContext) {
ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext (servletContext);
springBeanFactory = (BeanFactory)context;
return true;
}
public static Object getBean(String beanName) throws Exception {
Object object = null;
if (springBeanFactory == null) {
throw new Exception("没有初始化BeanFactory!");
} else {
object = springBeanFactory.getBean(beanName);
}
return object;
}
}
代码测试过可用,但是还没有用LR压一下看看效率。
根据上面的代码可以基本解决所有获取spring的问题咯。
分享到:
相关推荐
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
Spring Integration + Spring WS 整合 在 Java 领域中,Spring Integration 和 Spring WS 是两个常用的框架,它们分别负责集成系统和 Web 服务。今天,我们将探讨如何将这两个框架整合在一起,实现一个完整的 Web ...
在Java开发领域,Spring Boot和Spring Batch的整合是构建高效...通过学习和实践这个示例,你不仅可以掌握如何在Spring Boot中使用Spring Batch,还能了解批处理的最佳实践,这对于处理大数据量的应用场景非常有价值。
Spring框架是Java应用程序开发中的一个核心组件,它提供了一个丰富的IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)功能,使得开发者能够更方便地管理对象和实现模块化...
每个模块都有相应的jar包,例如`spring-context.jar`提供了上下文支持,`spring-beans.jar`处理bean的生命周期,而`spring-webmvc.jar`则用于构建Web应用程序。5.3.9版本的库可能包含了对Java 8及更高版本的支持,...
spring揭秘,了解spring内在运行逻辑
java *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取...
5、手动或是有计划的重启 6、局部处理:跳过记录(如:回滚) 技术目标: 1、利用Spring编程模型:使程序员专注于业务处理,让Spring框架管理流程。 2、明确分离批处理的执行环境和应用。 3、提供核心的,共通的...
spring3.2的源代码,至于为什么要下载spring3.2的源代码呢?...虽然每个版本之间有差别,由于我们想要研究的都是spring的一些基本的功能,关于baen解析,bean注入,aop啥的,这些基本的功能每个版本之间差别是非常小的。
spring配置 spring配置 spring配置 spring配置 spring配置
标题中的“Spring 5, Spring Boot 2.0, Spring Cloud”揭示了三个核心的Java开发框架和技术。这些是Spring框架的最新版本,Spring Boot的第二个主要版本,以及用于构建微服务架构的Spring Cloud。 首先,Spring 5是...
这个"spring类库"的压缩包很可能包含了Spring框架的核心jar文件,以及可能的配置示例和文档,是初学者和经验丰富的开发者都非常需要的资源。通过这些文件,开发者可以快速地在项目中引入和使用Spring框架,进行高效...
在构建分布式系统时,Spring Cloud Gateway 作为微服务架构中的边缘服务或 API 网关,扮演着至关重要的角色。它负责路由请求到相应的微服务,并可以提供过滤器功能,如限流、熔断等。而Spring Security 则是 Java ...
包含spring 3.0.5的所有jar文件: org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE...
Getting started with Spring Framework (4th Edition) is a hands-on guide to begin developing applications using Spring Framework 5. The examples (consisting of 88 sample projects) that accompany this ...
spring3.0.0相关jar包 org.springframework.aop-3.0.0.RELEASE org.springframework.asm-3.0.0.RELEASE org.springframework.aspects-3.0.0.RELEASE org.springframework.beans-3.0.0.RELEASE org.springframework....
Spring 框架是 Java 开发中的一个核心组件,它为构建企业级应用程序提供了全面的编程和配置模型。Spring 4.3.14 是该框架的最后一个4.x系列正式版,发布于2018年2月24日。这个版本在Spring 5.0发布之前提供了一个...
spring4.3.1全套jar下载。 4.3.1/spring-aop-4.3.1.RELEASE.jar 4.3.1/spring-aspects-4.3.1.RELEASE.jar 4.3.1/spring-beans-4.3.1.RELEASE.jar 4.3.1/spring-context-4.3.1.RELEASE.jar 4.3.1/spring-core-4.3.1....
spring3.1官方所有的jar包 org.springframework.aop-3.1.RELEASE.jar org.springframework.asm-3.1.RELEASE.jar org.springframework.aspects-3.1.RELEASE.jar org.springframework.beans-3.1.RELEASE.jar org....
Spring通过代理模式实现了AOP,主要有JDK动态代理和CGLIB代理两种方式。在源码中,`Advisor`、`Pointcut`和`Advice`等接口是描述切面的关键,而`ProxyFactoryBean`或`AspectJAutoProxyCreator`则是创建代理对象的...