spring 普通类 获取容器里面的bean。也支持获取 注解

容器添加bean

 <bean id="spring" class="com.ceopen.eoss.spring.SpringUtil" /> 

SpringUtil
package com.ceopen.eoss.spring;  

import org.springframework.beans.BeansException;  
import org.springframework.context.ApplicationContext;  
import org.springframework.context.ApplicationContextAware;  
/**
 * 通过名称获取对应的bean 。。如果是注解方式,,默认是小写
 * @author dwz
 * @version 创建时间:2016年12月14日 下午1:56:27
 */
public class SpringUtil implements ApplicationContextAware {  
      
    private static ApplicationContext applicationContext;  
      
    @Override  
    public void setApplicationContext(ApplicationContext context)  
        throws BeansException {  
        SpringUtil.applicationContext = context;  
    }
    /**
     *  通过名称获取对应的bean 。。如果是注解方式,,默认是小写
     *  -------------获取接口的时候name是实现的bean的名称。
     * @param name
     * @return
     */
    public static Object getBean(String name){  
        return applicationContext.getBean(name);  
    }  
}

测试类

package com.dwz.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.ceopen.eoss.spring.SpringUtil;
import com.sofmit.domain.Text;
import com.sofmit.service.ITextService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class UserTest {
    //这里支持注解,下面的测试方法是测试getBean方法。
//    @Autowired
//    private UserMapper userMapper;
    
//    @Autowired
//    private ITextService textService;
    @Test
    public void get() throws Exception {
        ITextService textService=(ITextService) SpringUtil.getBean("textServiceImpl");
        Text text = textService.getOne(35L);
        System.out.println(text);
    }
}

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3027545/blog/805744

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值