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

容器添加beanspring

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

SpringUtil
package com.ceopen.eoss.spring;  dom

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);  
    }  
}ide

测试类测试

package com.dwz.test;spa

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

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

@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);
    }
}接口

相关文章
相关标签/搜索