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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

初学spring(一)

發(fā)布時(shí)間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初学spring(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.spring 在ssh 中所處的位置

??

? struts 是web框架(jsp,action,actionform)

? hibernate 是orm框架,處于數(shù)據(jù)持久層

?spring 是容器框架,配置bean和管理bean之間的關(guān)系,其中 ioc(inverse of control) 即控制反轉(zhuǎn),和di (dependency injection) 依賴(lài)注入 是spring的核心。

2.開(kāi)發(fā)一個(gè)簡(jiǎn)單spring項(xiàng)目的流程

? a.引入開(kāi)發(fā)spring項(xiàng)目所需的jar包: spring.jar(最小配置),日志包c(diǎn)ommon-logging.jar

? b.創(chuàng)建一個(gè)spring的核心配置文件 applicationContext.xml?[hibernate有核心?hibernate.cfg.xml?struts核心文件?struts-config.xml],?該文件一般放在src目錄下,

?? 該文件中引入?xsd文件?:可以從給出的案例(spring源代碼包)中拷貝一份.

????說(shuō)明:

???? ??? <!--
???????????? ??? ?bean元素的作用就是,當(dāng)框架加載的時(shí)候,容器就會(huì)自動(dòng)創(chuàng)建一個(gè)bean的實(shí)例,? 類(lèi)似 UserService us = new UserService();
??????? ???????? ?property元素的作用就是,創(chuàng)建實(shí)例后給實(shí)例的屬性注入值,
類(lèi)似 us.setName("spring");?
????????? ?-->
??? <bean id="userService" class="com.service.UserService">
??????? <property name="name">
??????????? <value>spring</value>
??????? </property>
??? </bean>?

3.創(chuàng)建實(shí)體bean,核心部分代碼

?

1 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); //得到容器對(duì)象
2 3 UserService us = (UserService) ac.getBean("userService"); //實(shí)例化bean
4 5 us.sayHello();

?4.Ioc(inverse of control 控制反轉(zhuǎn))? 和 Dj (dependency injection 依賴(lài)注入)

??? 控制反轉(zhuǎn): 把創(chuàng)建和維護(hù)對(duì)象的權(quán)力從代碼中轉(zhuǎn)移到spring容器(applicationContext.xml)中

????<bean id="userService" class="com.service.userServce">

??????? <property name="name" vlaue="spring"/>

??????? <property name="helloService" ref="helloService"/>

?? ?</bean>

?? ?<bean id="helloService" class="com.service.helloServce">

??????? <property name="words" vlaue="hello"/>

?? </bean>

?在這段配置中體現(xiàn)了spring的三個(gè)特點(diǎn):

??? a.配置bean

??? b.注入屬性

??? c.維護(hù)bean與bean之間的關(guān)系

??? 使用時(shí)通過(guò)getBean(bean_id) 來(lái)獲取對(duì)象實(shí)例。

? 在UserServce 類(lèi)中 有這樣一段代碼:

??? .....

??? private HelloServce helloServce;

?? ....

?? 并為其創(chuàng)建get 和 set 方法。此時(shí)如果沒(méi)有實(shí)例化 helloServce,在UserServce 類(lèi)直接調(diào)用 helloServce對(duì)象引用中的方法,肯定是報(bào)錯(cuò)的。

通過(guò)在applicationContext.xml中配置上述代碼后,則可以直接調(diào)用。這也正好體現(xiàn)了spring的特點(diǎn)所在。

?? spring的底層實(shí)現(xiàn)機(jī)制可以采用 dom4j 和 java的反射機(jī)制來(lái)實(shí)現(xiàn),結(jié)合HashMap 來(lái)維護(hù)實(shí)例對(duì)象的關(guān)系。

?? spring實(shí)際上是一個(gè)容器框架,可以維護(hù)web層,業(yè)務(wù)層,dao層(持久層)的各個(gè)組件,

?? 注:struts主要充當(dāng)web層,接管jsp/action/表單等,主要體現(xiàn)在數(shù)據(jù)輸入,數(shù)據(jù)處理以及數(shù)據(jù)的展示。有包含view以及control層。

??????? 在mvc這個(gè)概念中,model層包含 業(yè)務(wù)層,dao層以及持久層。

?

?

?

?說(shuō)明:部分內(nèi)容摘錄自網(wǎng)絡(luò)

?

轉(zhuǎn)載于:https://www.cnblogs.com/yiliweichinasoft/p/3474574.html

總結(jié)

以上是生活随笔為你收集整理的初学spring(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。