框架--spring
Spring----整合
1 与其它技术的整合。
Spring----Web
Spring----中间层数据访问----使用ORM进行数据访问
Spring----中间层数据访问----使用jdbc进行数据访问
1 org.springframework.jdbc类包提供这个功能的支持。
Spring----中间层数据访问---DAO支持
1 Spring中DAO主要为不同的数据访问技术提供标准的访问方法。
Spring----中间层数据访问----事务
1 事务有几种类型的使用。
2 事务的几种表现形式。
Spring---核心----测试
1 由org.springframework.test类包提供功能。
Spring----核心----Aop api
1 如何实现Aop功能的类包,org.springframework.aop为这个提供了功能。
Spring---核心-----面向切面編程(AOP)
1 是一種新的技術,其中有代理的影子.任何一個我們想進行切面控制的bean.在配置文件中,變成了proxyFactoryBean的實例.proxyFactoryBean實例中包含有三個基本屬性.一個是bean的接口,一個是bean的實現.別一個便是要控制切面編程的配置器.
2 實現將相同或者相仿,但卻分散各地的業務邏輯統一到一個地方.
3 角色:
3.1:交叉的業務邏輯代碼 advice.實現MethodBeforeAdvice/MethodAfterAdvice接口.
3.2:主程序代碼pointcut:普通的類
3.3:裝配器advisor.用於配置advice和pointcut的關係.無須專門寫自己的advisor.只需要在配置文件中定義一個黑認的實例就可以.
4 環節:包含有類的定義及配置文件配置.
4.1:配置代理信息.
4.2:配置bean的實現.
4.3:配置advisor:包含兩個屬性.一是advice 二是需要進行控制的pointcut.這里要定義到方法級的層面.
4.4:定義advice
5 面向切面如何起作用:當在方法執行之前發現問題或者在方法執行之後,發現問題要如何處理.
Spring----核心---校验 数据绑定 beanWrapper PropertyEdit
1 对用户输入的数据,要进行校验。检查是否满足应用的要求,所以Spring中引入了如题的几个方法。
Spring---核心----资源
1 Spring支持很多种形式的资源形式,即可以是file形式,也可以是http形式,还可以ftp形式。Resource接口。
2 Spring为读取资源而提供了ResourceLoader接口。
Spring----核心----控制反转
1 spring中控制反转的实现以控制反转容器为基础的。控制反转容器提供了控制反转的可能。org.springframework.beans和org.springframework.context这两个包提供了控制反转容器的实现。
2 根据Spring中控制反转的图示,控制反转容器需要根据配置元数据来实例化bean.所以bean的配置是很重要的,试想如果元数据就配置不正确,那么怎么期望Spring容器得到正确的实例bean呢?
3 实现Spring控制反转容器的几种方法:
3.1 编程方法:beanFactory方式
3.2 声明方法:ApplicationContext方式
4 配置元数据几种方法,也即取得bean的几种类型:
4.1 构造函数
4.2 静态方法
4.3 实例方法
依赖:指应用中各个实体间的关系。
注入依赖关系的几种方法:
1 setter方法:
2 构造器参数方法:
3 depends-on方法:
bean属性与构造器参数详解:
1 local ref parent
2 集合的定义
3 集合的复合
4 depends-on属性:
5 singleton实例的延迟实例化
6 自动装配方法:
7 依赖检查:
8 在配置文件中,实现bean的继承。
扩展容器
Spring---簡介
1 Spring本身只是提出一個全新AOP框架.學習Spring中的新技術,40%的內容可能是學習AOP框架.
AOP的核心是對動作進行封裝.OO是針對對象進行封裝.AOP是針對一個業務操作進行封裝.也就是說,它能夠的控制的粒度更加細.
2 Spring60%的內容是如何協調各個組件間如何工作,也即如何依賴注入.一般是通過xml文件進行配置,然後在代碼中使用Spring的API,來獲得組件的實現類.
3 如何使用Spring.
a:配置bean文件.
b:通過Spring的核心類,取得所需要的Bean.
c:使用所取得的Bean.
在這個層面上講,Spring並無什麼特別的技術.只是這種思想讓人激動.
1 Spring本身只是提出一個全新AOP框架.學習Spring中的新技術,40%的內容可能是學習AOP框架.
AOP的核心是對動作進行封裝.OO是針對對象進行封裝.AOP是針對一個業務操作進行封裝.也就是說,它能夠的控制的粒度更加細.
2 Spring60%的內容是如何協調各個組件間如何工作,也即如何依賴注入.一般是通過xml文件進行配置,然後在代碼中使用Spring的API,來獲得組件的實現類.
3 如何使用Spring.
a:配置bean文件.
b:通過Spring的核心類,取得所需要的Bean.
c:使用所取得的Bean.
在這個層面上講,Spring並無什麼特別的技術.只是這種思想讓人激動.
4 上面只是熟悉使用Spring的几个部分,而它包含的东西不止这些。有DAO,ORM,MVC,WEB,JEE.但spring的内容是可选的。并不是要用就全部用,不用就全部没有的情形。
Spring---骨架
Spring无意提出一种新的框架,而是基于目前开源的框架作出一种整合。相当于一种框架容器,并实现容器内框架之间的协调及装配。并减少框架之间的依赖程度,目標是將組件的配置與使用分隔開。可以说它完整地实现了mvc
Spring中一个全新的框架:Aop :aspect-oriented programming.面向切面编程。因而这也成为Spring的一个特色。
Spring核心概念:控制反转与依赖注入都是描述同样一个东西。將系統中使用到的組件在運行時期才由外部(也可以說是由使用者)決定.系統中編碼多針對接口來操作.
控制反转:inversion of control.已往的程序开发中。高级模组依赖于低级模组,低级模组依赖于底层容器,底层容器依赖于更为底层的容器。而控制反转的意思是:将这种依赖关系倒置,程序开发者在低层为高层指定系统所需要的bean;而不是在高层的代码中,写出所需要的bean.
依赖注入:dependency injection.容器内的框架之间如何交互,这是一个必须要考虑的问题。同一种类型的框架(例如:hibernate/ibtas)在被调用的时候,调用方并不知道是hibernate还是ibtas来提供持久化支持。以前是在调用方来判定,而现在不需要,一切由配置文件来完成。
Spring无意提出一种新的框架,而是基于目前开源的框架作出一种整合。相当于一种框架容器,并实现容器内框架之间的协调及装配。并减少框架之间的依赖程度,目標是將組件的配置與使用分隔開。可以说它完整地实现了mvc
Spring中一个全新的框架:Aop :aspect-oriented programming.面向切面编程。因而这也成为Spring的一个特色。
Spring核心概念:控制反转与依赖注入都是描述同样一个东西。將系統中使用到的組件在運行時期才由外部(也可以說是由使用者)決定.系統中編碼多針對接口來操作.
控制反转:inversion of control.已往的程序开发中。高级模组依赖于低级模组,低级模组依赖于底层容器,底层容器依赖于更为底层的容器。而控制反转的意思是:将这种依赖关系倒置,程序开发者在低层为高层指定系统所需要的bean;而不是在高层的代码中,写出所需要的bean.
依赖注入:dependency injection.容器内的框架之间如何交互,这是一个必须要考虑的问题。同一种类型的框架(例如:hibernate/ibtas)在被调用的时候,调用方并不知道是hibernate还是ibtas来提供持久化支持。以前是在调用方来判定,而现在不需要,一切由配置文件来完成。
依赖注入的概念更为贴切的说法是将系统中各个bean之间的依赖关系注入到IOC容器中,IOC容器在实例化bean时,也将这种依赖关系加入到bean中。
更為細緻的描述就是,高層的模塊需要調用低層模塊.而低層的模塊會有多種實現.如果在高層調用中,固定為調用某個的低層模塊實現,或是只是支持其中的一種實現.那麼高層模塊對低層模塊就存在依賴.任何需求的變更都需要重新寫高層模塊.那現在來理解的依賴注入的意思.在高層模塊中,我們調用的是低層模塊的抽象.根本不涉及到具體的實現,都不存在有低層模塊實現的代碼(組件不知道被誰調用).然後在運行的時期,通過Spring容器注入特定的低層模塊實現.那麼這種編程的情況下,如果是切換不同的低層實現,只要在配置文件中進行更改,而無須變更代碼.而如果是低層模塊的實現發生變化.根本對高層模塊無影響.
说明:
Spring本身是一个框架的容器,那么各个框架的使用在使用Spring之前就应当是了解和熟悉的。如果因为各个框架的问题而影响Spring的学习使用,那么是不能怪罪于Spring设计的不好。
更為細緻的描述就是,高層的模塊需要調用低層模塊.而低層的模塊會有多種實現.如果在高層調用中,固定為調用某個的低層模塊實現,或是只是支持其中的一種實現.那麼高層模塊對低層模塊就存在依賴.任何需求的變更都需要重新寫高層模塊.那現在來理解的依賴注入的意思.在高層模塊中,我們調用的是低層模塊的抽象.根本不涉及到具體的實現,都不存在有低層模塊實現的代碼(組件不知道被誰調用).然後在運行的時期,通過Spring容器注入特定的低層模塊實現.那麼這種編程的情況下,如果是切換不同的低層實現,只要在配置文件中進行更改,而無須變更代碼.而如果是低層模塊的實現發生變化.根本對高層模塊無影響.
说明:
Spring本身是一个框架的容器,那么各个框架的使用在使用Spring之前就应当是了解和熟悉的。如果因为各个框架的问题而影响Spring的学习使用,那么是不能怪罪于Spring设计的不好。