- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(几大框架问题
spring是一个设计层面的框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring的orm框架用来集成其他持久层框架,比如hibernate,spring-orm框架对hibernate的session进行了封装,我们可以很方便的通过继承这个封装类HibernateDAOSupport并注入hibernate的sessionFactory完成初始化,并调用其内置对象HibernateTemplate的封装方法来调用session的API而不用考虑到session的初始化和关闭以及事务处理等系统操作,这也是AOP思想的一种体现。Hibernate的延迟加载功能是指获取某个实体对象时并不从数据库中加载他的关联对象,而在实际获取关联对象的时候才从数据库中加载,这样做很好的节省了数据库资源但是前提是必须保持session处于打开状态,在所有操作完成后再关闭。Spring封装了session操作后很自然的要做到在方法调用的前后打开和关闭session,这样我们在通过HibernateTemplate的方法来获取实体对象以后session就已经关闭了,而这时候在调用获取关联对象的方法的时候就会抛出异常:
一、 IoC(Inversion of control): 控制反转?1、IoC:?概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系?核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean?二、AOP(Aspect-Oriented Programming): 面向方面编程?1、 代理的两种方式:?静态代理:? 针对每个具体类分别编写代理类;?? 针对一个接口编写一个代理类;??动态代理:?针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类?2、 AOP的主要原理:动态代理?Spring工作原理???????? Spring 已经用过一段时间了,感觉Spring是个很不错的框架。内部最核心的就是IOC了,?动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射?反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml? Spring的配置?文件来动态的创建对象,和调用对象里的方法的 。????? Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是?在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过?配置类达到的。??? Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明?管理的(Spring根据这些配置 内部通过反射去动态的组装对象)??? 要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。?Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式)?? Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了?也就基本上掌握了Spring.?
IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反 过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用 其协作对象构造的。因此是由容器管理协作对象(collaborator)。
Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。
三、请你谈谈SSH整合:
SSH:
Struts(表示层)+Spring(业务层)+Hibernate(持久层)
Struts:
Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。
在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,struts-config.xml,Action)
Hibernate:
Hibernate是一个持久层框架,它只负责与关系数据库的操作。
S
文档评论(0)