今日工作:今日完成Spring 的基础知识入门,对控制反转(Ioc—Inversion of Control)、依赖注入(DI—Dependency Injection)有了一定的认识。
一、IOC
IoC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是 松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。
二、DI
组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。
问题及解决:
1、遇到了注入bean失败的情况,在我注入Student的时候,发现不能create一个bean,一直报错。
后来发现是自己的jar包添加的不完整。
注意:注入的时候,不要注入的name相同的bean,否则会发生异常。
2、使用注解的时候特别注意的是扫包,如果扫包配置错误,会出现一些信息。
遇到无法通过注解方式扫描Service层的问题,控制台没有报spring异常,仅是包无法找到mapped name *Service ......
后来发现少了jar包:common-annotations.jar
明日计划:明日完成Spring的几种注入方式以及注入集合属性的方式。