Spring通过配置文件获取bean(不用IOC)

1.写一个SpringContext的工具类 实现ApplicationContextAware接口

 1 import org.springframework.beans.BeansException;
 2 import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.ApplicationContextAware;
 5
 6 public class SpringContextUtil implements ApplicationContextAware{
 7
 8     private static ApplicationContext applicationContext;     //Spring应用上下文环境
 9
10      public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
11        SpringContextUtil.applicationContext = applicationContext;
12      }
13
14      public static ApplicationContext getApplicationContext() {
15        return applicationContext;
16      }
17
18      public static Object getBean(String name) throws BeansException {
19        return applicationContext.getBean(name);
20      }
21
22      public static Object getBean(String name, Class requiredType) throws BeansException {
23        return applicationContext.getBean(name, requiredType);
24      }
25
26      public static boolean containsBean(String name) {
27        return applicationContext.containsBean(name);
28      }
29
30      public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
31        return applicationContext.isSingleton(name);
32      }
33
34      public static Class getType(String name) throws NoSuchBeanDefinitionException {
35        return applicationContext.getType(name);
36      }
37
38      public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
39        return applicationContext.getAliases(name);
40      }
41
42 }

2,Spring配置文件中添加关于该工具类的bean配置

 <bean id="SpringContextUtil " class="util.SpringContextUtil "  />

3.代码中使用

MongoTemplate temp = (MongoTemplate)SpringContextUtil.getBean("mongoTemplate");
时间: 2024-11-03 22:02:03

Spring通过配置文件获取bean(不用IOC)的相关文章

在完全由Spring管理的环境中使用Spring的Context获取Bean实例

在大型的应用中,常常会有很灵活的需求,而在使用了框架之后,虽然可以大大提高开发的效率,但同时,也把我们框到一个架子中了. 下面先说一下我遇到的问题,事情大概是这样的: @Component @Scope("prototype") public class Action1 implements Action{ ..... } @Component @Scope("prototype") public class Action2 implements Action{ .

spring根据beanName获取bean

spring根据beanName获取bean主要实现: org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(String, Class<T>, Object[], boolean) @SuppressWarnings("unchecked") protected <T> T doGetBean( final String name, final Class<T>

Spring获取ApplicationContext方式,和读取配置文件获取bean的几种方式

转自:http://chinazhaokeke.blog.163.com/blog/static/109409055201092811354236  Spring获取ApplicationContext方式 我自己常用的方法: 读取一个文件1 //创建Spring容器 2 ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); 3 //获取chinese 实例 4 Person p = ctx.g

Spring容器中获取bean实例的方法

// 得到上下文环境 WebApplicationContext webContext = ContextLoader .getCurrentWebApplicationContext(); // 使用上下文环境中的getBean方法得到bean实例 InhospDoctorStationController controller = (InhospDoctorStationController) webContext.getBean("inhospDoctorStationController

Tomcat启动后,从spring容器中获取Bean和ServletContext

public static Object getBean(String beanName){ ApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); return context.getBean(beanName); } public static ServletContext getServletContext(){ WebApplicationContext context = Context

如何手动获取Spring容器中的bean(ApplicationContextAware 接口)

ApplicationContextAware 接口的作用 先来看下Spring API 中对于 ApplicationContextAware 这个接口的描述: 即是说,当一个类实现了这个接口之后,这个类就可以方便地获得 ApplicationContext 中的所有bean.换句话说,就是这个类可以直接获取Spring配置文件中,所有有引用到的bean对象. 如何使用 ApplicationContextAware 接口 如何使用该接口?很简单. 1.定义一个工具类,实现 Applicati

非spring托管对象如何获取到spring托管对象

一些thread类或servlet不能通过spring注解的方式调用spring容器里面的类 尝试将thread或servlet加上@component或@controller注解变成被spring容器管理,再调用spring容器里面的其他类,失败! 最终找出下面两种解决方案: 一,通过spring配置文件applicationContext.xml初始化 [java] view plaincopy import org.springframework.context.ApplicationCo

SSH框架系列:Spring读取配置文件以及获取Spring注入的Bean

分类: [java]2013-12-09 16:29 1020人阅读 评论(0) 收藏 举报 1.简介 在SSH框架下,假设我们将配置文件放在项目的src/datasource.properties路径下,Spring的配置文件也是src/applicationContext.xml路径下,那么我们可以借助Spring的property-placeholder读取配置文件,然后注入Bean中.我们在程序中,可以根据Bean的Id,获取注入的值.这样我们就可以借助Spring来读取配置文件. 2.

[spring源码学习]二、IOC源码——配置文件读取

一.环境准备 对于学习源码来讲,拿到一大堆的代码,脑袋里肯定是嗡嗡的,所以从代码实例进行跟踪调试未尝不是一种好的办法,此处,我们准备了一个小例子: package com.zjl; public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void sayHello