javascript
Spring教程--入门程序
1 Spring框架的概述:
1.1?什么是Spring:
Spring是分層的JavaSE/EE full-stack(一站式) 輕量級開源框架
* 分層:
* SUN提供的EE的三層結構:web層、業務層、數據訪問層(持久層,集成層)
* Struts2是web層基于MVC設計模式框架.
* Hibernate是持久的一個ORM的框架.
* 一站式:
* Spring框架有對三層的每層解決方案:
* web層:Spring MVC.
* 持久層:JDBC Template
* 業務層:Spring的Bean管理.
1.2?Spring的核心:
IOC:(Inverse of Control 反轉控制)
* 控制反轉:將對象的創建權,交由Spring完成.
AOP:Aspect Oriented Programming 是 面向對象的功能延伸.不是替換面向對象,是用來解決OO中一些問題.
IOC:控制反轉.
1.3?Spring的版本:
Spring3.x和Spring4.x ?Spring4需要整合hibernate4.
1.4?EJB:企業級JavaBean
EJB:SUN公司提出EE解決方案.
2002 : Expert One-to-One J2EE Design and Development
2004 : Expert One-to-One J2EE Development without EJB (EE開發真正需要使用的內容.)
1.5?Spring優點:
方便解耦,簡化開發
* Spring就是一個大工廠,可以將所有對象創建和依賴關系維護,交給Spring管理
AOP編程的支持
* Spring提供面向切面編程,可以方便的實現對程序進行權限攔截、運行監控等功能
聲明式事務的支持
* 只需要通過配置就可以完成對事務的管理,而無需手動編程
方便程序的測試
* Spring對Junit4支持,可以通過注解方便的測試Spring程序
方便集成各種優秀框架
* Spring不排斥各種優秀的開源框架,其內部提供了對各種優秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
降低JavaEE API的使用難度
* Spring 對JavaEE開發中非常難用的一些API(JDBC、JavaMail、遠程調用等),都提供了封裝,使這些API應用難度大大降低
2?Spring的入門的程序:
2.1?下載Spring的開發包:
spring-framework-3.2.0.RELEASE-dist.zip---Spring開發包
* docs:spring框架api和規范
* libs:spring開發的jar包
* schema:XML的約束文檔.
spring-framework-3.0.2.RELEASE-dependencies.zip---Spring開發中的依賴包
2.2?創建web工程引入相應jar包:
spring-beans-3.2.0.RELEASE.jar
spring-context-3.2.0.RELEASE.jar
spring-core-3.2.0.RELEASE.jar
spring-expression-3.2.0.RELEASE.jar
開發的日志記錄的包:
com.springsource.org.apache.commons.logging-1.1.1.jar--- 用于整合其他的日志的包(類似Hibernate中slf4j)
com.springsource.org.apache.log4j-1.2.15.jar
2.3?創建Spring的配置文件:
在src下創建一個applicationContext.xml
引入XML的約束:
* 找到xsd-config.html.引入beans約束:
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans " >http://www.springframework.org/schema/beans/spring-beans.xsd">2.4?在配置中配置類:
<bean id="userService" class="com.sihai.spring3.demo1.HelloServiceImpl"></bean>1.2.5?創建測試類:
@Test// Spring開發public void demo2() {// 創建一個工廠類.ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");HelloService helloService = (HelloService) applicationContext.getBean("userService");helloService.sayHello();}2.6?IOC和DI區別
IOC:控制反轉:將對象的創建權,由Spring管理.
DI:依賴注入:在Spring創建對象的過程中,把對象依賴的屬性注入到類中.
* 面向對象中對象之間的關系;
* 依賴:
public class A{
private B b;
}
* 繼承:is a
* 聚合:
* 聚集:
* 組合:
2.7?Spring框架加載配置文件:
ApplicationContext 應用上下文,加載Spring 框架配置文件
加載classpath:
?????new ClassPathXmlApplicationContext("applicationContext.xml");:加載classpath下面配置文件.
加載磁盤路徑:
?????new FileSystemXmlApplicationContext("applicationContext.xml");:加載磁盤下配置文件.
2.8?BeanFactory與ApplicationContext區別
ApplicationContext類繼承了BeanFactory.
BeanFactory在使用到這個類的時候,getBean()方法的時候才會加載這個類.
ApplicationContext類加載配置文件的時候,創建所有的類.
ApplicationContext對BeanFactory提供了擴展:
* 國際化處理
* 事件傳遞
* Bean自動裝配
* 各種不同應用層的Context實現
***** 早期開發使用BeanFactory.
2.9?MyEclipse配置XML提示:
Window--->xml catalog--->add 找到schema的位置 ,將復制的路徑 copy指定位置,選擇schema location.
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Spring教程--入门程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC教程--json使用详
- 下一篇: Spring教程--IOC(控制反转)详