spring springMVC
spring是一个开源框架,是为了解决企业应用程序开发,功能如下
目的:解决企业应用开发的复杂性
功能:使用基本的javabean代替EJB,并提供了更多的企业应用功能
范围:任何java应用
总之:spring是一个轻量级的控制反转Ioc和面向切面Aop的容器框架
轻量------从大小与开销两方面来说,spring都是轻量的
控制反转------spring通过Ioc技术促进了松耦合。当应用了Ioc,一个对象
依赖注入的其他对象会通过被动的方式传递进来,
而不是这个对象自己创建或者查找依赖对象。
面向切面-----spring提供了面向切面编程的丰富支持,允许通过分离应用
的业务逻辑与系统级服务(比如说审计和事务管理)进行内聚性的开发。
应用对象只实现他们应该做的,完成业务逻辑而已。
容器-----Ioc 配置bean放在xml文件,xml就是容器里
Ioc其实就是依赖注入,即接口编程,在程序中不出现new关键字,而是接口名来引用,然后通过某种方式把接口的某个实现类注入到引用里,从而实现接口与具体实现类的松耦合。由容器控制程序之间的关系(通过XML配置)而非传统实现中的由程序代码
直接操控(在class对象引用另一个对象使用构造器),控制权由应用代码中转到了外部容器,即反转。
优点:把应用代码量降到最低,容易测试每一层代码,最小的代价和最小的侵入降低耦合。
Ioc注入两种方式:set方法,属性先设置setter()方法,在bean中加入property属性
构造器方法,类中重载构造函数,在bean中加入constructor-arg属性(index表示第几个变量,type表示类型)
Spring Ioc容器:创建对象,管理对象(依赖注入),装配对象。
Aop方式很类似filter,就是在程序正常的业务流程中间向切面一样插入很多其他要执行的代码,比如登录时候,在进入登录页面前写入日志,很常用的,尤其是跟数据库有关的,或者跟支付有关的程序肯定会在每一步前面插入日志。
SpringMVC
spring配备构建Web应用的全功能MVC 框架。spring可以很便捷地和其他MVC框架
集成,如struts、mybatis,spring的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。他也允许以声明的方式把请求参数和业务对象绑定。