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

相關文章
相關標籤/搜索