前面有一遍博客写了利用监听实现 在Spring加载后,获取到Spring管理的 applicationContext对象。
http://kewen1989.iteye.com/blog/1891124
当初也是常事了Spring提供的接口,但是最后没有实现,没办法的情况下才用了自己写一个监听的方法,后来求助kyfxby大神,明白了当初是哪里出了问题:
这个java类是没有任何问题的
public class ApplicationContextHelper implements ApplicationContextAware
{
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext contex) throws BeansException
{
ApplicationContextHelper.context = contex;
}
public static ApplicationContext getContext()
{
return context;
}
}
这个配置也是没有任何问题的
<!-- 这个bean主要是为了得到ApplicationContext 所以它不需要其它属性-->
<bean id ="getContext" class="com.kewen.util.ApplicationContextHelper"></bean>
问题就出在了Spring配置文件中的这一句话上:
default-autowire="byName" default-lazy-init="true"
default-lazy-init=
"true"
这个True会导致Spring延时加载这个bean,当它是工具类,所以这个使用的时候需要改成False
这样,就能实现利用Spring提供的接口获取它的applicationContext了
分享到:
相关推荐
Spring中ApplicationContext加载机制
今天小编就为大家分享一篇关于spring中通过ApplicationContext getBean获取注入对象的方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类...
本项目为Java项目,使用Spring实现依赖注入,实现采用ApplicationContext,不再直接使用XmlBeanFactory方式。适合初学者了解Spring依赖注入的实现。
针对Spring框架的主要功能以及开发者们遇到最多的问 题,首先介绍问题的相关背景,然后逐条进行深度剖析,最后通过分析来引入Spring框架可以提供的最佳解决方案。虽言Spring,却不局限于 Spring! 本书目录 目录 ...
SPI 机制(Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制), 很多地方有用到: AOP Spring的AOP的底层实现原理; 为什么jdk动态代理是必须是接口 两种动态代理的区别 AOP实现方式:...
Spring提供了org.springframework.orm.hibernate3.HibernateTemplate类和org.springframework.orm.hibernate3.HibernateCallback接口来方便和Hibernate整合。 HibernateTemplate类封装了Hibernate的主要类,它提供了...
6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
Spring为web应用提供了上下文的扩展接口 WebApplicationContext: 如转载请注明,转载自:关注Java[http://www.gbsou.com] 本文链接: http://www.gbsou.com/2009/08/11/214.html - - Java代码 public ...
实例化完成的Bean对象存放在singletonObjects当中。 FileSystemXmlApplicationContext是加载磁盘里具体位置的xml文件。不同环境下会出现不同的容器,比如导入spring-web包时,会有web环境下的容器。 (4)基于xml
6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...
-- Spring MVC 的Servlet,它将加载WEB-INF/annomvc-servlet.xml 的 配置文件, 以启动Spring MVC模块--> <servlet-name>annomvc org.springframework.web.servlet.DispatcherServlet <load-on-startup>2 ...
例子简单的实现了spring结合mongo的例子 spring:4.1.2 spring-data-mongodb:1.1.0 java:1.8 log4j:1.2.16 junit:4.12 commons-logging:1.1.1 maven:3 注意:spring的不同版本与mongodb结合可能会有问题,自测:...
CXF WebService整合Spring示例工程代码demo可以直接导入eclipse。...3.applicationContext-server.xml配置服务提供接口 <!-- 注意下面的address,这里的address的名称就是访问的WebService的name --> 4.运行tomcat
//创建spring的ApplicationContext ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); //输出spring容器 System.out.println(ctx); //打印加载的bean名称 ...
Spring Boot技术知识点:如何读取不同路径里的applicationContext.xml配置文件1
ClassPathXmlApplicationContext:使用这个工厂创建对象,他会根据scope智能判断是否懒加载,如果是单例则创建容器时就会创建里面bean的实例,如果是多例在获取使用时才会创建bean实例 ...
2. 创建Spring容器对象ApplicationContext,加载各种配置 3. 在容器创建前,通过监听器机制,应对不同阶段加载数据、更新数据的需求 4. 容器初始化过程中追加各种功能,例如统计时间、输出日志等 监听器类型 1. 在...
注意:在添加hibernate框架时,选择生成spring configuration file (applicationContext.xml)。 这里是使用spring配置文件管理hibernate。 先配置mysql数据驱动,打开eclipse database explorer perspective,选择...