初学spring(一)
1.spring 在ssh 中所處的位置
??
? struts 是web框架(jsp,action,actionform)
? hibernate 是orm框架,處于數據持久層
?spring 是容器框架,配置bean和管理bean之間的關系,其中 ioc(inverse of control) 即控制反轉,和di (dependency injection) 依賴注入 是spring的核心。
2.開發一個簡單spring項目的流程
? a.引入開發spring項目所需的jar包: spring.jar(最小配置),日志包common-logging.jar
? b.創建一個spring的核心配置文件 applicationContext.xml?[hibernate有核心?hibernate.cfg.xml?struts核心文件?struts-config.xml],?該文件一般放在src目錄下,
?? 該文件中引入?xsd文件?:可以從給出的案例(spring源代碼包)中拷貝一份.
????說明:
???? ??? <!--
???????????? ??? ?bean元素的作用就是,當框架加載的時候,容器就會自動創建一個bean的實例,? 類似 UserService us = new UserService();
??????? ???????? ?property元素的作用就是,創建實例后給實例的屬性注入值, 類似 us.setName("spring");?
????????? ?-->
??? <bean id="userService" class="com.service.UserService">
??????? <property name="name">
??????????? <value>spring</value>
??????? </property>
??? </bean>?
3.創建實體bean,核心部分代碼
?
1 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); //得到容器對象2 3 UserService us = (UserService) ac.getBean("userService"); //實例化bean
4 5 us.sayHello();
?4.Ioc(inverse of control 控制反轉)? 和 Dj (dependency injection 依賴注入)
??? 控制反轉: 把創建和維護對象的權力從代碼中轉移到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>
?在這段配置中體現了spring的三個特點:
??? a.配置bean
??? b.注入屬性
??? c.維護bean與bean之間的關系
??? 使用時通過getBean(bean_id) 來獲取對象實例。
? 在UserServce 類中 有這樣一段代碼:
??? .....
??? private HelloServce helloServce;
?? ....
?? 并為其創建get 和 set 方法。此時如果沒有實例化 helloServce,在UserServce 類直接調用 helloServce對象引用中的方法,肯定是報錯的。
通過在applicationContext.xml中配置上述代碼后,則可以直接調用。這也正好體現了spring的特點所在。
?? spring的底層實現機制可以采用 dom4j 和 java的反射機制來實現,結合HashMap 來維護實例對象的關系。
?? spring實際上是一個容器框架,可以維護web層,業務層,dao層(持久層)的各個組件,
?? 注:struts主要充當web層,接管jsp/action/表單等,主要體現在數據輸入,數據處理以及數據的展示。有包含view以及control層。
??????? 在mvc這個概念中,model層包含 業務層,dao層以及持久層。
?
?
?
?說明:部分內容摘錄自網絡
?
轉載于:https://www.cnblogs.com/yiliweichinasoft/p/3474574.html
總結
以上是生活随笔為你收集整理的初学spring(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于visual Studio2013解
- 下一篇: MapReduce多表连接