百度地图手机网站开发,成都网站设公司,对话弹窗在网站上浮动,发布网站建设平面设计spring取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法 1、思路#xff1a; 应用程序启动时使用ApplicationContextAware让Spring容器传递自己生成的ApplicationContext给我们#xff0c; 然后我们把这个ApplicationContext设置成一个类…spring取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法 1、思路 应用程序启动时使用ApplicationContextAware让Spring容器传递自己生成的ApplicationContext给我们 然后我们把这个ApplicationContext设置成一个类的静态变量 这样我们就随时都可以在老的代码里得到Application的对象了。 2、编写工具类ApplicationContextHelper  /** * 版权所有华信软件 * 项目名称:ACWS框架 * 创建者: Wangdf * 创建日期: 2014-4-2 * 文件说明: Spring工具栏 */  
package com.huaxin.framework.core.util;  import org.springframework.beans.BeansException;    
import org.springframework.context.ApplicationContext;    
import org.springframework.context.ApplicationContextAware;    
/**  * Spring工具栏 * author wangdf */    
public class ApplicationContextHelper implements ApplicationContextAware {    private static ApplicationContext appCtx;    /**  * 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。  * param applicationContext ApplicationContext 对象.  * throws BeansException  * author wangdf */    Override    public void setApplicationContext( ApplicationContext applicationContext ) throws BeansException {    appCtx  applicationContext;    }  /** * 获取ApplicationContext * return * author wangdf */  public static ApplicationContext getApplicationContext(){  return appCtx;  }  /**  * 这是一个便利的方法帮助我们快速得到一个BEAN  * param beanName bean的名字  * return 返回一个bean对象  * author wangdf */    public static Object getBean( String beanName ) {    return appCtx.getBean( beanName );    }    
}     3、在Spring的配置文件中配置上述类后、应用程序启动时会使用ApplicationContextAware让Spring容器传递自己生成的ApplicationContext给我们 然后我们把这个ApplicationContext设置成一个类的静态变量 这样我们就随时都可以在老的代码里得到Application的对象了。  bean idSpringApplicationContext classcom.huaxin.framework.core.util.ApplicationContextHelper/bean    4、获得bean的方法、获取数据库连接的方法、获取ApplicationContext    4.1、取得通过Spring配置文件注入的任意Bean以取得DataSource为例  !-- 配置dbcp数据源 --  
bean iddataSource classcom.alibaba.druid.pool.DruidDataSource   init-methodinit      destroy-methodclose  property namedriverClassName value${jdbc.driverClassName} /  property nameurl value${jdbc.url} /  property nameusername value${jdbc.username} /  property namepassword value${jdbc.password} /  property nameminIdle value${jdbc.minIdle} /        !-- 队列中的最小等待数 --  property namemaxWait value${jdbc.maxWait} /        !-- 最长等待时间单位毫秒 --  property namemaxActive value${jdbc.maxActive} /    !-- 最大活跃数 --  property nameinitialSize value${jdbc.initialSize} /!--    初始大小 --  
/bean    /取得数据源  
DruidDataSource dataSource  (DruidDataSource)ApplicationContextHelper.getBean(dataSource);  
Connection connection  DataSourceUtils.getConnection(dataSource);  //取得ApplicationContext  
ApplicationContext ctx  ApplicationContextHelper.getApplicationContext();    4.2、取得通过注解方式注入的Bean以在取得Service为例 通过Service(userTestService)定义bean  Service(userTestService)  
public class UserTestServiceImpl implements UserTestService  {  Autowired  private UserTestDao userDao;  Transactional(propagationPropagation.NOT_SUPPORTED)   Override  public MapString, Object doGetRecordById() {  return userDao.getRecordById(1);  }  
。。。略。。。  
}   通过以下代码获取Bean  /** * 测试Bean获取 * throws Exception  */  
Test  
public void testGetBean() throws Exception{  //通过注解方式  UserTestService userTestService  (UserTestService)ApplicationContextHelper.getBean(userTestService);  System.out.println(userTestService);  }     转载于:https://www.cnblogs.com/pypua/articles/7516067.html