spring 获取对象方式
来源:互联网 发布:彩票组合软件 编辑:程序博客网 时间:2024/05/17 01:00
1 通过配置文件注入
1.配置文件中配置注入信息
2.class中添加注解的接口(set get、 构造函数等)
2.通过注解方式获得
1. 在class中对方法添加注解信息 (类标示 :@Service 、@Repository ; 注入标示:@Resource)
3. 在spring环境中获取对象(从web环境中获取)
WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext(request.getServletContext());SystemUserDao systemUserDao = (SystemUserDao)webApplicationContext.getBean("systemUserDao");
4. 如何在方法中使用getBean(从web环境中获取)
当想在service方法中直接通过bean名称获取对象时,一种方法是添加request参数(这样就能使用web环境中的spring环境了),不过在service方法中有request参数明显不是一种很好的方法(不利于测试)。第二种方法则添加一个SpringContent工具类,使用一个静态变量存储spring对象环境。在使用之前设置这个变量(web环境可以添加filter、在测试环境也可以对其进行社会自),具体使用的时候则直接使用即可。
工具类代码:
package eway.flight.service;import org.springframework.beans.BeansException;import org.springframework.beans.factory.NoSuchBeanDefinitionException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;/** * @Title: SpringContextUtil.java * @Package eway.flight.utils * @Description: TODO(添加描述) * @author A18ccms A18ccms_gmail_com * @date 2014-8-18 下午1:56:54 * @version V1.0 */public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; //Spring应用上下文环境 public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringContextUtil.applicationContext = applicationContext; } public static ApplicationContext getApplicationContext() { return applicationContext; } public static Object getBean(String name) throws BeansException { return applicationContext.getBean(name); } public static Object getBean(String name, Class requiredType) throws BeansException { return applicationContext.getBean(name, requiredType); } public static boolean containsBean(String name) { return applicationContext.containsBean(name); } public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { return applicationContext.isSingleton(name); } public static Class getType(String name) throws NoSuchBeanDefinitionException { return applicationContext.getType(name); } public static String[] getAliases(String name) throws NoSuchBeanDefinitionException { return applicationContext.getAliases(name); }}web初始化时设置
public void doFilter(ServletRequest request, ServletResponse response,// 设置静态 spring 对象ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());SpringContextUtil springContextUtil = new SpringContextUtil();springContextUtil.setApplicationContext(ctx); chain.doFilter(request, response);}业务代码
FlowCommItf command= (FlowCommItf)SpringContextUtil.getBean("flowComm_JSYSS");
0 0
- spring 获取对象方式
- spring获取request对象的方式与条件
- spring不通过注入的方式获取对象(BeanFactoryAware \ApplicationContextAware )
- 非注解方式获取spring bean对象以及配置值
- spring获取request对象的几种方式
- mybatis+spring中的Mapper通过非自动注入方式获取Mapper代理对象(Spring 工厂)
- 获取Spring容器对象
- Spring 获取Bean对象
- 获取spring对象
- Spring获取request对象
- Spring 获取request对象
- Spring获取HttpServletRequest对象
- spring获取数据库连接对象
- spring 获取bean的方式
- spring bean的获取方式
- 获取Class对象的方式
- Class对象的获取方式
- 获取servletContext对象的方式
- 胜利大逃亡(续)
- 关于MMSEG分词算法
- java.math.BigDecimal cannot be cast to [Ljava.lang.Object;
- ITA 贪心算法
- 时间函数millis( )
- spring 获取对象方式
- MongoDB入门简介
- PKU1287裸的Kruskal算法低空飘过
- storyboard中用xib文件创建定制的UITableViewCell对象
- 批改ViewPager调用setCurrentItem时,滑屏的速度
- http://localhost:8080/main.do?action=index改成http://localhost:8080/来访问首页
- PyQt4参考指南---介绍
- Simple Exercises about Marco Definition (C)
- 热隔热隔热和热河热河热和