Spring學習(16)--- 基於Java類的配置Bean 之 基於泛型的自動裝配(spring4新增)

來源:互聯網
上載者:User

標籤:

例子:

定義泛型Store

package javabased;public interface Store<T> {}

 兩個實作類別StringStore,IntegerStore

package javabased;public class IntegerStore implements Store<Integer> {}

 

package javabased;public class StringStore implements Store<String> {}

 java config實現bean配置

package javabased;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class StoreConfig {@Autowiredprivate Store<String> s1;@Autowiredprivate Store<Integer> s2;@Beanpublic StringStore stringStore() {return new StringStore();}@Beanpublic IntegerStore integerStore() {return new IntegerStore();}@Bean(name="test_generic")public String print(){    //測試System.out.println("s1 : "+s1.getClass().getName());System.out.println("s2 : "+s2.getClass().getName());return "";}}

XML配置:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:context="http://www.springframework.org/schema/context"        xsi:schemaLocation="http://www.springframework.org/schema/beans            http://www.springframework.org/schema/beans/spring-beans-4.1.xsd            http://www.springframework.org/schema/context            http://www.springframework.org/schema/context/spring-context-4.1.xsd">                <context:component-scan base-package="javabased">        </context:component-scan>         </beans>

 單元測試:

package javabased;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class UnitTest {@Testpublic void test(){ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-beanannotation.xml");  context.getBean("test_generic");}}

 結果:

2015-7-8 15:12:04 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh資訊: Refreshing org[email protected]32bf7190: startup date [Wed Jul 08 15:12:04 CST 2015]; root of context hierarchy2015-7-8 15:12:04 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions資訊: Loading XML bean definitions from class path resource [spring-beanannotation.xml]s1 : javabased.StringStores2 : javabased.IntegerStore

 

也可參考(挺詳細的):http://blog.csdn.net/yangxt/article/details/19970323

Spring學習(16)--- 基於Java類的配置Bean 之 基於泛型的自動裝配(spring4新增)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.