框架
Struts:
(1)MVC中控制层解决方案。(2)可以进行请求数据封装、类型转换、文件上传、校验。
Hibernate:
(1)持久层的解决方案.(2)可以做到把对象保存到数据库中,从数据库中取出的对象。
传统的开发模式:
(1)基于MVC开发的项目模式。(2)基于MVC的项目开发结构。
Spring可以处理对象的创建,以及对象的创建。
专业术语
组件/框架设计
(一)侵入式设计
引入框架,对现有的类的结构有影响,即需要继承和实现某些特定的类。
(Struts框架,验证必须实现action、某些接口)
(二)非侵入式设计
引入框架,对现有的类的结构没有影响。
(Hhibernate框架,实体类没有变,只是多了一个映射文件。Spring框架,不用时候直接移除。)
控制反转(依赖注入)IOC(第一个名词:IOC(控制反转))
IOC是Spring容器的内核,AOP和声明式事务在此基础上开花结果。
一句话解释:你不要在通过new关键字来实例化对象,实例化对象的过程交由Spring来管理,Spring会在你使用到该类的对象时候自动帮你创建。这就是所谓的控制反转
ICO的实现机制:可以使用Spring配置文件和注解两种方式来实现。
//需要什么就创建什么,“控制正转”
//对象创建交给别人,叫“控制反转”比人创建好了,再set那里传入进来。(对象的创建,交给外部容器来完成。)
依赖注入
处理对象的依赖关系,先有创建对象后,交给别人(控制反转),在创建完对象后,对象的关系处理,通过set方法以来注入。(依赖注入)
AOP(面向切面编程)
按照软件重构思想理解,如果多个类中出现相同代码,应该考虑定义一个抽象类,将相同的代码提出出来;通过继承抽象的父类,消除多个类中重复的代码,但是现实世界并非永远简单,在实现数据库连接时,我们总是需要重复行的,获取连接,管理实务,处理业务逻辑 ,提交事务和关闭连接,
真正核心的内容只有处理业务逻辑 ,但是我们无法通过面向对象的方法把重复的操作分离出来;所以有了AOP
AOP的解释:AOP另辟蹊跷通过横向抽取机制,当需要某些重复操作,比如日志管理,性能监视和事务管理是,自动切入到相关代码之前或者之后来运行;这就是所谓的AOP。
AOP的实现机制:Spring对Aop提供了4中切面定义:基于 AspectJ;基于Schema配置; Advisor配置和混合配置。
面向切面编程,简单地可以理解为一个类,由很多重复代码形成的类。
例如:事务、日志、权限等等。
Spring框架
(1)可以解决对象创建以及对象之间以来关系的一种框架。并且,
(2)可以和其他框架一起使用。(struts,hibernate),整合作用。
(3)提供一站式解决方案。