初学spring
-
认识spring
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
上面是官网的解释,简单来说Spring框架就是一个方便程序员管理对象的一个对象容器。框架的主要优势是它的分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 的核心是控制反转(IoC)和面向切面(AOP)。 -
JAVAEE开发的标准三层架构中Spring扮演的角色
先来说说Javaee开发中三层架构是什么:
Web层:它主要包含的关于javaweb相关操作,例如 request,response,session对象操作,它调用业务层来实现具体的功能。
业务层(service层):它主要是业务逻辑操作,它不包含web常用对象,它只是java代码。
数据访问层(dao层):它主要是与数据库进行交互,完成crud(增删查改)操作。
优点:分散关注、松散耦合、逻辑复用、标准定义。
缺点:降低了系统的性能,有时会导致级联的修改。
Spring框架在项目开发中贯穿三层架构,起到一个对对象进行管理的作用。相当于整个项目的管家。 -
使用Spring进行开发的优点
1、spring框架性质是属于容器性质的。
2、容器中装什么对象就有什么功能,所以可以一站式。
3、不仅不排斥其他框架,还能帮其他框架管理对象。
4、面向切面(AOP)编程。
5、控制反转(IOC)思想。
6、spring 集成了jdbc并且支持aop 事务。
7、junit 测试支持,便于对项目进行测试。 -
什么叫面向切面(AOP)编程?
面向切面(AOP):横向重复,纵向抽取。Spring中通过为容器中管理的对象进行生成动态代理对象来实现AOP编程。
Spring实现AOP的原理:
1)动态代理(优先,前提是在对象是实现接口的基础上)
2)cglib代理(没有接口,通过继承实现动态代理) -
Spring的控制反转(IOC)和依赖注入(di)
控制反转(IOC):将我们创建对象的方式反转了。以前对象的创建都需要我们程序员自己进行维护,包括依赖关系的注入也是自己完成的。使用了Spring之后,对象的创建和依赖关系的注入都交给了Spring进行完成。控制反转(IOC)就是把对象的创建由我们自己完成反转给了程序(Spring)完成。
依赖注入(di):要想实现控制反转(IOC)思想,需要依赖注入(di)的支持。
依赖注入方式有:
1)set方式注入
2)构造方法注入
3)字段注入
依赖注入类型有:
1)值类型注入 8大基本数据类型
2)引用类型注入 将依赖对象进行注入