以下为我根据网上以及相关资料所总结的关于spring的知识:
一、spring核心(IOC和AOP)
spring核心分为(IOC)控制反转,(AOP)面向切面的编程;主要用到的设计模式主要有工厂模式和代理模式。IOC主要用到的就是工厂模式,通过sessionfactory去注入实例;AOP就是典型的代理模式的体现。
代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。
Spring的IOC容器是spring的核心,SpringAOP是Spring的重要组成部分。
简单点解释,比方说你想在你的biz层所有类中都加上一个打印‘你好’的功能,这时就可以用aop思想来做.你先写个类写个类方法,方法经实现打印‘你好’,然后Ioc这个类 ref=“biz.*”让每个类都注入即可实现。
二、Spring的数据访问
在Web应用中,为了降低系统的耦合度,我们会将应用分层。数据访问层负责与数据库交互,执行与数据库CRUD(增删改查)有关的操作,ORM映射等操作。简而言之就是负责读写数据库的操作。
ORM:对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换
三、Spring的事物管理
事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。