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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机玩崩坏3卡顿怎么办 以前很帅现在变得好难看了怎么办 偷了室友东西被发现了该怎么办 自己不喜欢狗但室友养狗怎么办 夏天身上闷热出很多小红豆怎么办? 海棠果核小孩吃进肚子了怎么办 大了叶海棠有点烂根怎么办? 刚栽的月季花苗叶子蔫了怎么办 对节白蜡盆景叶尖干枯发黑怎么办 婴儿皮肤被大人指甲划出血怎么办 三岁宝宝吃了铝箔包装纸怎么办 元宝鱼烂身子烂鳍尾巴怎么办 大掌门2多余的侠客令怎么办 vivo手机关机后开不了机怎么办 红米手机重置后开机黑屏怎么办 dnf夏日套光环选错了怎么办 ios6微信版本低登录不了怎么办 捡了一个苹果手机有id怎么办 外阴长了个包出血很痛怎么办 腿上烫成泡了泡泡破了掉皮了怎么办 脚上的脚气小泡泡破了怎么办 吃鸡使用改名卡改名符号怎么办 爱派平板电脑密码忘了怎么办 电脑优酷下载总显示未知错误怎么办 文本文档打开时显字符丢失怎么办 系统文件过大无法放进u盘怎么办 淘宝上买的密钥激活不了怎么办 苹果手机玩游戏屏幕卡住不动怎么办 电脑系统安装好一排英文字怎么办 赴日签证申请表写错了怎么办 不知道自己想要做什么工作怎么办 三星note4微信出现闪退怎么办 魅蓝note6手机自动闪退怎么办 苹果6s系统内存占用量过大怎么办 想在一年通过会计初级和中级怎么办 特殊岗位退休档察写的力工怎么办 面试时期望工资说低了。怎么办 面试时期望薪资写低了怎么办 高考后比一模差了80分怎么办 戒了烟我不习惯没有你我怎么办 没有你我不习惯没有你我怎么办