1. Dao层的对象创建的底层实现,是MyBatis框架下的SqlSession对象,依靠MapperProxy动态代理技术实现 byName
2. Service层的对象创建的底层实现,是由注解@Service发起,依赖Spring-IOC 的bean-type来创建。再底层细致,就是反射+无参构造方法 byType
3. 层与层之间都必须有需要有Spring bean 的定义(不管是显示定义,还是隐藏定义)
4. 类与类之间的依赖 :
原始是通过在配置文件里写明ref实现;
它定位的领域是许多其他流行的framework没有的。Spring致力于提供一种方法管理你的业务对象
Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。
它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。
Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。
它也涉及到其他framework没有考虑到的内容。
特性:
强大的基于 JavaBeans的采用控制反转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组件更加快捷简易。一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。
数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。