<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Kela's Blog

                前面的路很坎坷,但畢竟是條路.也許走過這一段就會發(fā)現(xiàn),走過去就是夢想中的地方.因此堅持成為此刻唯一能做且必須去做的事情.
    posts - 9, comments - 27, trackbacks - 0, articles - 15

    摘要: spring 兩種常用的注入方式( Type 2 Ioc , Type 3 Ioc

    ?

    ???? HelloBean.java

    ?

    package com.kela.spring.ioc;

    ?

    public class HelloBean {

    ???

    ??? private String name;

    ??? private String helloWord;

    ???

    ??? public HelloBean() {

    ??? }

    ???

    ??? public HelloBean(String name, String helloWord) {

    ??????? this.name = name;

    ??????? this.helloWord = helloWord;

    ??? }

    ???

    ??? public String getHelloWord() {

    ??????? return helloWord;

    ??? }

    ??? public void setHelloWord(String helloWord) {

    ??????? this.helloWord = helloWord;

    ??? }

    ??? public String getName() {

    ??????? return name;

    ??? }

    ??? public void setName(String name) {

    ??????? this.name = name;

    ??? }

    }

    該程序文件中講兩種常用的注入方式寫在了一起。

    ???? Beans-config_1.xml

    ?

    <?xml version= "1.0" encoding= "GB2312" ?>

    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >

    ?

    <beans>

    ???

    ??? <!-- Type 3 Injection 通過構(gòu)造方法(這里注意構(gòu)造方法中參數(shù)的順序保持一致) -->

    ??? <bean id= "helloBean_1" class= "com.kela.spring.ioc.HelloBean" >

    ?????? <constructor-arg index= "0" >

    ?????????? <value> KangFeng </value>

    ?????? </constructor-arg>

    ?????? <constructor-arg index= "1" >

    ?????????? <value> 你好! </value>

    ?????? </constructor-arg>

    ??? </bean>

    ???

    ??? <!-- Type2 Injection 通過 set 注入法 -->

    ??? <bean id= "helloBean_2" class= "com.kela.spring.ioc.HelloBean" >

    ?????? <property name= "name" >

    ?????????? <value> Kela </value>

    ?????? </property>

    ?????? <property name= "helloWord" >

    ?????????? <value> hello ! </value>

    ?????? </property>

    ??? </bean>

    </beans>

    ???? TestClass.java

    ?

    package com.kela.spring.ioc;

    ?

    import org.springframework.context.ApplicationContext;

    import org.springframework.context.support.FileSystemXmlApplicationContext;

    ?

    public class TestClass {

    ?

    ??? public void method_1() {

    ??????? try {

    ??????????? ApplicationContext context = new

    ?????????????????????????????????????? FileSystemXmlApplicationContext("bin\\com\\kela\\spring\\ioc\\beans-config_1.xml");

    ??????????? HelloBean helloBean_1 = (HelloBean)context.getBean("helloBean_1");

    ??????????? System.out.println(" 構(gòu)造方法注入(歡迎詞):" + helloBean_1.getName() + ";" + helloBean_1.getHelloWord());

    ???????????

    ??????????? HelloBean helloBean_2 = (HelloBean)context.getBean("helloBean_2");

    ??????????? System.out.println("set 方法注入(歡迎詞):" + helloBean_2.getName() + ";" + helloBean_2.getHelloWord());

    ??????? } catch (Exception e) {

    ??????????? System.out.println("[ERROR]" + e.getMessage());

    ??????? }

    ??? }

    ???

    ??? public static void main(String[] args) {

    ??????? TestClass testClass = new TestClass();

    ??????? testClass.method_1();

    ??? }

    }

    ???? 學(xué)習(xí)小結(jié)

    ?

    關(guān)于ConstructorSetter注入的區(qū)別其實就是說,是要在對象建時是就準備好資源還是在對象建立好之后,再使用Setter方法來進行設(shè)定。

    從實際使用角度來看,一個適用于較短的屬性列,一個適用于較長的屬性列。

    分享到:
    主站蜘蛛池模板: 国产精品极品美女自在线观看免费| 99视频免费观看| 亚洲精品无码永久在线观看男男| 色婷五月综激情亚洲综合| 久久亚洲精品国产精品婷婷| 亚洲乱色熟女一区二区三区蜜臀| 99re免费99re在线视频手机版| 国产亚洲AV无码AV男人的天堂| 亚洲美女视频网站| 亚洲精品国产美女久久久| 一级特黄特色的免费大片视频| 37pao成人国产永久免费视频| 成人毛片免费视频| 国产国拍精品亚洲AV片| 亚洲第一页中文字幕| 日韩大片免费观看视频播放| 四虎国产精品永久免费网址| 精品免费国产一区二区| 亚洲人成人77777网站| 亚洲AV乱码久久精品蜜桃 | av在线亚洲欧洲日产一区二区| 亚洲AV成人片色在线观看| 无码AV片在线观看免费| 亚洲一区影音先锋色资源| 亚洲aⅴ无码专区在线观看| a毛看片免费观看视频| 久久精品免费一区二区喷潮| 免费毛片在线看片免费丝瓜视频| 亚洲AV日韩综合一区尤物| 国产又粗又猛又爽又黄的免费视频 | 免费人妻精品一区二区三区| 亚洲精品专区在线观看| 免费被黄网站在观看| 美女被爆羞羞网站免费| 成全视频免费高清| 国产VA免费精品高清在线| 亚洲免费视频网站| 免费观看91视频| 亚洲精品国精品久久99热| 未满十八18禁止免费无码网站| 亚洲熟女综合色一区二区三区|