JavaEE存在两个非常典型的问题亟待解决:
1.依赖组件的管理
a.直接在组件中new被依赖组件 : new 被依赖组件;
-- 这种方式非常不好,各组件依赖很强,一个组件更改,其他组件都将受到影响
-- 这种方式不利于项目的扩展与维护。
b.引入工厂模式来降低组件的耦合(依赖)
-- 工厂模式可以将两个组件的依赖管理起来,从而降低两个组件的依赖。
-- 这种方式需要额外提供一个工厂。
c.使用Spring的Ioc技术
-- Spring的Ioc是一个更强大的依赖管理工厂。
-- 这种方式是企业级项目依赖管理的首选方式
2.事物管理
基于桥接模式,JavaEE存在业务逻辑层,业务逻辑存在两个维度的管理(业务逻辑,持久层操作)
业务层需要处理事务:业务层要组合多个dao,所以事物在业务层处理、
因为持久层的技术可能不同(Mybatis,Hibernate,JPA),所以业务层的事物管理依赖于持久层技术。
Spring的AOP技术可以使业务层的事务管理集中起来,也就是业务层的事物管理将与持久层技术解依赖。
Spring技术的两大核心技术: IoC技术,AOP技术。
1.依赖组件的管理
a.直接在组件中new被依赖组件 : new 被依赖组件;
-- 这种方式非常不好,各组件依赖很强,一个组件更改,其他组件都将受到影响
-- 这种方式不利于项目的扩展与维护。
b.引入工厂模式来降低组件的耦合(依赖)
-- 工厂模式可以将两个组件的依赖管理起来,从而降低两个组件的依赖。
-- 这种方式需要额外提供一个工厂。
c.使用Spring的Ioc技术
-- Spring的Ioc是一个更强大的依赖管理工厂。
-- 这种方式是企业级项目依赖管理的首选方式
2.事物管理
基于桥接模式,JavaEE存在业务逻辑层,业务逻辑存在两个维度的管理(业务逻辑,持久层操作)
业务层需要处理事务:业务层要组合多个dao,所以事物在业务层处理、
因为持久层的技术可能不同(Mybatis,Hibernate,JPA),所以业务层的事物管理依赖于持久层技术。
Spring的AOP技术可以使业务层的事务管理集中起来,也就是业务层的事物管理将与持久层技术解依赖。
Spring技术的两大核心技术: IoC技术,AOP技术。