`
lancezhcj
  • 浏览: 47759 次
  • 性别: Icon_minigender_2
  • 来自: 衡阳
社区版块
存档分类
最新评论

通过非注入方式获取spring管理的bean

 
阅读更多
   不好意思,这篇文章不是教大家怎么解决如题的问题,我的确尝试了不少方法,大家如果解决了还请不吝赐教,后来我是用spring的HandlerInterceptorAdapter。
   为了这个问题郁闷了好久,用eclipse开发的一个系统,架构是spring MVC + ibatis,
项目结构:
src
webContent
  --WEB-INF
       --classes
       --config
            --baoqu-servlet.xml
            --application-context.xml
       --web.xml


我写了一个filter,在filter中要调用一个spring管理的bean,找了不少方法也没有解决,网上众说纷纭:
//初始化service

1、ClassLoader cl = Thread.currentThread().getContextClassLoader();
InputStream is = cl.getResourceAsStream("../config/baoqu-servlet.xml");
System.out.println(is);

2、 final String SEP = File.separator;
    final String REGX_TEMP="\\"+SEP;

   String result = TokenFilter.class.getResource("TokenFilter.class").toString();
if(result.startsWith("jar")){
// 当class文件在jar文件中时,返回"jar:file:/F:/ ..."样的路径
result = result.substring(10,result.indexOf("WEB-INF"));
}else if(result.startsWith("file")){
// 当class文件在class文件中时,返回"file:/F:/ ..."样的路径
result = result.substring(6,result.indexOf("WEB-INF"));
}else if(result.startsWith("zip")){
result = result.substring(4,result.indexOf("WEB-INF"));
}
result=result.replaceAll("/", REGX_TEMP);
System.out.print(result);     
ServletContext sc = filterConfig.getServletContext();
System.out.print(sc);
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(sc);
        //String path=servletContext.getRealPath("/");  得到的就是 编译后web文件夹的路径
        //String path = this.filterConfig.getServletContext().getRealPath("/");
        //path=path+"/WEB-INF/config";
// ApplicationContext ctx = new ClassPathXmlApplicationContext(path);
System.out.print(ctx);
//ApplicationContext ctx=
         new    FileSystemXmlApplicationContext("/config/baoqu-servlet.xml");

都说文件不存在,无法打开文件。
分享到:
评论

相关推荐

    通过@Autowired注解注入bean的顺序,以及@bean注入.rar

    通过@Bean 和spring的factoryBean注入的bean. 以及对应@service注解注入的类 通过@Autowired 注入对象的时间是现根据类型在根据beanName获取的案例集合

    线程中获取spring 注解bean

    在线程中获取spring注入对象,如:数据库连接对象,DAO,Service ,资源文件等

    Quartz注入Spring的Bean

    Quartz中注入Spring生成的Bean,是调度系统和业务系统联系在一起。

    获取spring管理的bean

    以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出ApplicaitonContext. 在配置文件中注入<bean class="xxx.xxx.SpringContextHolder" lazy-init="false" /> 即可使用

    Spring在代码中获取bean的方法小结

    在工作中有时候我们需要在非spring依赖注入或管理的类中获取service、dao等bean对象,这时候用@Autowired和@Resource显然是不行的,那么下面这篇文章就给大家了整理几种获取bean的方式,对大家的学习和工作具有一定...

    spring static静态方法里面注入bean空指针解决

    使用@Autowired的方式注入 必须在类上加@Component。我是用的这种 @Component public class KlineDataUtil { private static RedisService redisService; @Autowired public void set(RedisService redisService ...

    Spring启动后获取所有拥有特定注解的Bean实例代码

    主要介绍了Spring启动后获取所有拥有特定注解的Bean实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    idea +junit单元测试获取不到bean注入的解决方式

    主要介绍了idea +junit单元测试获取不到bean注入的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    spring aop ioc实例

    spring实现aop、ioc,注入,拦截demo,包含spring所需的所有jar

    Spring通过ApplicationContext主动获取bean的方法讲解

    今天小编就为大家分享一篇关于Spring通过ApplicationContext主动获取bean的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    SpringBoot框架Datasource注入

    该项目采用标签形式对Datasource进行注入将Datasource组件交给容器进行统一管理

    Spring.html

    ClassPathXmlApplicationContext:使用这个工厂创建对象,他会根据scope智能判断是否懒加载,如果是单例则创建容器时就会创建里面bean的实例,如果是多例在获取使用时才会创建bean实例 ...

    spring杂谈 作者zhang KaiTao

    1.1 Spring事务处理时自我调用的解决方案及一些实现方式的风险 1.2 我对AOP的理解 1.3 Spring开闭原则的表现-BeanPostProcessor的扩展点-1 1.4 我对IoC/DI的理解 1.5 SpringMVC + spring3.1.1 + hibernate4.1.0 集成...

    spring中通过ApplicationContext getBean获取注入对象的方法实例

    今天小编就为大家分享一篇关于spring中通过ApplicationContext getBean获取注入对象的方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    关于SpringBoot获取IOC容器中注入的Bean(推荐)

    本文通过实例代码给大家详解了springboot获取ioc容器中注入的bean问题,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

    Spring框架 初学者

    1 首先我们需要一个bean,用某种方法(设置注入需要有setter函数,构造注入需要有构造函数,相应的bean.xml配置文件也会不同)设定注入方式。  2 bean.xml,设置bean与类的关系,并关联默认的注入值。  3 获取...

    深入解析Spring IoC源码:核心机制与实践应用

    本文深入探讨了Spring框架中IoC容器的源码机制,涵盖了容器的初始化、Bean工厂的实例化、Bean定义的读取及Spring Bean的生命周期管理。通过精细的分析,本文揭示了AnnotationConfigApplicationContext的实例化过程,...

    Spring框架生态流程框架图-执行运行路程图

    它会通过配置或注解获取需要注入的依赖,并在运行时自动将它们注入到相应的对象中。 Bean的生命周期管理:Spring管理着应用程序的Bean对象的生命周期。它会根据配置文件或注解创建、初始化、使用和销毁Bean对象。...

    Spring in Action(第2版)中文版

    3.3注入非springbean 3.4注册自定义属性编辑器 3.5使用spring的特殊bean 3.5.1后处理bean 3.5.2bean工厂的后处理 3.5.3配置属性的外在化 3.5.4提取文本消息 3.5.5程序事件的解耦 3.5.6让bean了解容器 3.6...

    关于mybatis spring与dubbo是怎么通过一个接口 你就能调用到一个bean方法的讲解

    Mybatis 或者 dubbo 或者 ...首先要弄清楚 spring的加载与生成bean的机制 spring在启动的时候 会 扫描 所有定义的 bean的类 并定义BeanDefinition 然后通过BeanDefinition 在调用creataBean方法的时候会 去实例 初始

Global site tag (gtag.js) - Google Analytics