日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01-spring配置详解

發布時間:2023/12/13 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01-spring配置详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 bean元素

<!--將User對象交給spring容器進行管理 --><!-- Bean元素:使用該元素描述需要spring容器管理的對象class屬性:被管理對象的完整類名.name屬性:給被管理的對象起個名字.獲得對象時根據該名稱獲得對象. 可以重復.可以使用特殊字符.id屬性: 與name屬性一模一樣. 名稱不可重復.不能使用特殊字符.結論: 盡量使用name屬性.--><bean name="user" class="www.test.bean.User"></bean>

2 對象的三種創建方式

   <!--對象創建方式1-空參數構造 --><bean name="user" class="www.test.bean.User"></bean><!-- ================================================ --><!--對象創建方式2-靜態工廠創建調用UserFactory的靜態方法createUser方法創建名為user2的對象.放入容器--><bean name="user2" class="www.test.b_create.UserFactory"factory-method="createUser"></bean><!-- ===================================================== --><!--對象創建方式3-實例工廠創建 --><!--調用UserFactory對象的createUser2方法創建名為user3的對象.放入容器 --><bean name="user3" factory-bean="userFactory" factory-method="createUser2"></bean><bean name="userFactory" class="www.test.b_create.UserFactory" />

3 scope屬性

<bean name="user" class="www.test.bean.User" scope="singleton"></bean> <bean name="user" class="www.test.bean.User" scope="prototype"></bean> public void fun1(){//1創建容器對象applicationContextApplicationContext ac = new ClassPathXmlApplicationContext("www/test/b_create/applicationContext.xml");//2向容器中"要"user對象User user1 = (User) ac.getBean("user");User user2 = (User) ac.getBean("user");User user3 = (User) ac.getBean("user");User user4 = (User) ac.getBean("user");//3打印userSystem.out.println(user1==user4); // singletom : true// prototype : false}

4 初始化&銷毀方法

@Test//測試對象的生命周期public void fun4(){//1 創建容器對象ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("www/test/b_create/applicationContext.xml");//2 向容器“要”User對象User user = (User) ac.getBean("user");//3打印 System.out.println(user);ac.close();}

5 模塊化配置

<!--導入其它spring配置 --> <import resource="www/test/b_create/applicationContext.xml"/>

6 屬性的注入

?1 set方式注入

<!--set方式注入 --> <bean name="user" class="www.test.bean.User"><!--值類型注入: 為User對象中名為name的屬性注入tom作為值 --><property name="name" value="tom"></property><property name="age" value="25"></property><!-- 引用類型注入: 為car屬性注入下方配置的car對象 --><property name="car" ref="car"></property> </bean> <!-- 將car對象配置到容器中 --> <bean name="car" class="www.test.bean.Car"><property name="name" value="奧迪"></property><property name="color" value="黑色"></property> </bean>

2 構造函數注入

<!-- 將car對象配置到容器中 --> <bean name="car" class="www.test.bean.Car"><property name="name" value="奧迪"></property><property name="color" value="黑色"></property> </bean><!-- ============================================= --> <!-- 構造函數注入 --> <bean name="user2" class="www.test.bean.User"><constructor-arg name="name" value="lucy"></constructor-arg><constructor-arg name="car" ref="car"></constructor-arg> </bean> <bean name="user3" class="www.test.bean.User"><constructor-arg name="name" index="0" value="jack"></constructor-arg><constructor-arg name="car" ref="car"></constructor-arg> </bean> <bean name="user4" class="www.test.bean.User"><constructor-arg name="name" index="1" value="jack"></constructor-arg><constructor-arg name="car" ref="car"></constructor-arg> </bean> <bean name="user5" class="www.test.bean.User"><constructor-arg name="name" index="0" type="java.lang.Integer" value="888"></constructor-arg><constructor-arg name="car" ref="car"></constructor-arg> </bean>

3 p 名稱空間

<!-- p名稱空間注入, 走set方法 1.導入P名稱空間 xmlns:p="http://www.springframework.org/schema/p" 2.使用p:屬性完成注入|-值類型: p:屬性名="值"|-對象類型: p:屬性名-ref="bean名稱"--> <bean name="user6" class="www.test.bean.User" p:name="jerry" p:age="15" p:car-ref="car"></bean>

4 spel注入

<!-- spel注入: spring Expression Language sping表達式語言 --> <bean name="user7" class="www.test.bean.User"><property name="name" value="#{user6.name}"></property><property name="age" value="#{user.age}"></property><property name="car" ref="car"></property> </bean>

7 復雜類型的注入

<!-- 復雜類型的注入 --> <bean name="cb" class="www.test.bean.CollectionBean"><!-- 如果數組中只準備注入一個值(對象),直接使用value|ref即可 --><!-- <property name="arr" value="tom"></property> --><!-- <property name="arr" ref="car"></property> --><!-- array注入,多個元素注入 --><property name="arr"><array><value>tom</value><value>jerry</value><ref bean="user4" /></array></property><!-- 如果List中只準備注入一個值(對象),直接使用value|ref即可 --><!-- <property name="list" value="jack"></property> --><!-- <property name="list" ref="user"></property> --><!-- list注入,多個元素注入 --><property name="list"><list><value>jack</value><value>lisi</value><value>zhangsan</value><ref bean="user"/></list></property><!-- map類型注入 --><property name="map"><map><entry key="url" value="jdbc:mysql:///spring"></entry><entry key="user" value-ref="user6"></entry><entry key-ref="user2" value-ref="user" ></entry></map></property><!-- prperties 類型注入 --><property name="prop"><props><prop key="url">jdbc:mysql:///spring</prop><prop key="class">com.mysql.jdbc.Driver</prop><prop key="user">root</prop><prop key="password">root</prop></props></property></bean>

?

轉載于:https://www.cnblogs.com/jepson6669/p/8536356.html

總結

以上是生活随笔為你收集整理的01-spring配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。