1. 程式人生 > >SpringMVC學習指南【筆記1】創建bean實例的方法和依賴註入

SpringMVC學習指南【筆記1】創建bean實例的方法和依賴註入

tro ans tex 多個 oracle sys 實例 不同的 指定

Spring MVC 主要從Spring框架、ServletJSP3個方面來講。

Java企業版技術包括JMSEJBJSFJPA

Java企業版容器:GlassFishJBossOracleWeblogicIBM WebSphere

TomcatJetty不是企業版容器,所以不能運行EJBJMS

Spring一共有20多個不同的模塊,這裏主要講了3個模塊:corebeanspringmvc

corebean提供依賴註入解決方案。

Spring有兩種配置方式:xml和註解的方式。這兩種方式都至少需要一個包含beans信息的xml文件。

【控制反轉】

ApplicationContext代表Spring控制反轉容器,有兩個實現類:

ClassPathXmlApplicationContext在類加載路徑中加載配置文件;

FileSystemXmlApplicationContext在文件系統中加載。

例如:

ApplicationContext context = new ClassPathXmlApplicationContext(new string[]{“config1.xml”,”config2.xml”});

Product product = context.getBean(“product”,Product.class
);

創建bean實例的方法:

1、通過構造器創建一個bean實例;

<bean name=”product” class=”com.xsl.entity.Product” />

2、通過工廠方法創建一個bean實例。

<bean id=”calendar” class=”java.util.Calendar” factory-method=”getInstance” />

Destroy Method的使用:可以在類被銷毀之前能執行指定方法。

<bean id=”executorService” class=”java.util.concurrent.Executosr” 
factory-method=”new CachedTheadPool” destory-method=”shutdown” />

通過指定的class的這個靜態方法new CachedTheadPool,創建idexecutorService的實例,最後在銷毀之前調用shutdown方法。

Spring也支持通過構造器來傳遞參數:

1、寫好實體類的構造方法;

2、bean中配置好參數的值。(參數的標簽是< constructor-arg />,除了可以通過名稱name來傳遞參數外,還支持通過索引index來傳遞參數;但是采用索引來傳遞參數的話,所有參數都必須傳遞,缺一不可)

A類依賴B類,為保證每個A實例都能包含B實例。

<bean name=”b1” class=”com.xsl.entity.B”>

    <constructor-arg name=”city” value=”shenzhen” />

    <constructor-arg name=”state” value=”yes” />

</bean>

1、setter方式依賴註入(使用<property />標簽)

<bean name=”a” class=”com.xsl.entity.A”>

    <property name=”b” ref=”b1” />

    <property name=”price” value=”9.9” />

</bean>

2、構造器方式依賴註入

<bean name=”a” class=”com.xsl.entity.A”>

    <constructor-arg name=”b” ref=”b1” />

    <constructor-arg name=”price” value=”9.9” />

</bean>

SpringMVC學習指南【筆記1】創建bean實例的方法和依賴註入