Spring框架IOC和AOP的理解
来源:互联网 发布:淘宝买家旺旺提取 编辑:程序博客网 时间:2024/05/29 14:13
spring开源框架
一.什么是Spring?
简单来说:spring是一个轻量级控制反转(IOC)和面向切面(AOP)容器的框架
spring的基本框架主要包含六大模块:DAO、ORM、AOP、JEE、WEB、CORE
Spring DAO:Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 。
Spring ORM:Spring可以与ORM框架整合。例如Spring整合Hibernate框架,其中Spring还提供HibernateDaoSupport工具类,简化了Hibernate的操作 。
Spring WEB:Spring提供了对Struts、Springmvc的支持,支持WEB开发。与此同时Spring自身也提供了基于MVC的解决方案 。
Spring AOP:Spring提供面向切面的编程,可以给某一层提供事务管理,例如在Service层添加事物控制 。
Spring JEE:J2EE开发规范的支持,例如EJB 。
Spring Core:提供IOC容器对象的创建和处理依赖对象关系
二、Spring下IOC容器和DI(依赖注入Dependency injection)
IOC容器:就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。。在Spring中BeanFactory是IOC容器的实际代表者。
DI(依赖注入Dependency injection) :在容器创建对象后,处理对象的依赖关系。
依赖注入spring的注入方式:
- set注入方式
- 静态工厂注入方式
- 构造方法注入方式
- 基于注解的方式
三、Spring下面向切面编程(AOP)和事务管理配置
AOP就是纵向的编程,如业务1和业务2都需要一个共同的操作,与其往每个业务中都添加同样的代码,不如写一遍代码,让两个业务共同使用这段代码。在日常有订单管理、商品管理、资金管理、库存管理等业务,都会需要到类似日志记录、事务控制、权限控制、性能统计、异常处理及事务处理等。AOP把所有共有代码全部抽取出来,放置到某个地方集中管理,然后在具体运行时,再由容器动态织入这些共有代码。
Spring使用AOP配置事务管理由三个部分组成,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用hibernate进行数据访问时,DataSource实际为SessionFactory,TransactionManager的实现为HibernateTransactionManager。
- Spring框架IOC和AOP的理解
- Spring的IOC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring的IoC DI和AOP理解
- Spring面试,IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring面试:IOC和AOP的理解
- Spring IOC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring面试,IoC和AOP的理解
- Spring IOC和AOP的理解
- 怎样在Linux中,手动添加可执行程序,到所有系统菜单?
- LeetCode 3 Longest Substring Without Repeating Characters
- ul li 定制圆点,list-style-image调整图片圆点大小 与 文字和图片排版
- 使用eclipse构建Maven项目--web工程完整示例
- 对象成员的引用
- Spring框架IOC和AOP的理解
- a += a-= a*a
- 机器人于商业落地,技术再次创造奇迹
- android studio 注释模板并设置快捷键
- springboot+maven pom文件保错问题
- 使用configobj 来访问配置文件
- LINUX虚拟机与主机的文件交互
- 数据库锁表与解锁
- OGG12实时同步oracle到mysql基础配置