什么是Spring
Spring是轻量级别的开源框架,以IOC和AOP为内核,提供了展现层、持久层和业务层事务管理等众多的企业级应用技术。
什么是IOC
IOC为控制反转,指用户将类的创建的主动权交给spring
ioc支持依赖注入、依赖检查、自动装配、支持集合、指定初始化方法和销毁方法。最主要的应该是依赖注入吧,在xml配置相当于ref标签。
ioc最重要的是容器,他控制着bean的生命周期和依赖注入
bean的作用
用于配置对象交由spring创建。
bean配有一系列标签,其生命周期,基本属性等由标签配置,默认情况调用无参构造。
bean的依赖注入
依赖注入是ioc的具体体现
简单来说就是坐等框架把持久层对象闯入业务层,而不用我们自己去获取。
一般使用set方法,而不使用构造器方法。
越来越多的bean的标签的使用必然导致文件代码的臃肿。
分模块开发
在实际开发中spring的配置内容相当多,这就导致了spring的配置文件提及庞大,所以可以将配置拆解到其他的配置文件中,然后使用import标签加载。
持久层 数据库的配置
spring的连接池应该是封装了jdbc的连接池技术,常见的连接池有C3P0,Druid等。
spring配置数据库时直接导入相关的架包,创建连接对象相关信息的xxx.prperties文件,导入;然后在xxx.xml文件中创建连接池对象,使用el表达式配置相关信息。
什么是AOP
aop为面向切面编程,底层通过spring提供的动态代理技术实现。
在运行期间,spring通过动态代理技术动态生成代理对象,代理对象方法执行时进行增强功能的介入,去调用目标的对象方法,从而完成功能的增强。代理分为静态代理和动态代理。
如何配置aop
在配置aop之前先知道4个相关概念,及pointcut、advice、aspect和weaving及切入点 增强 切面 织入
xml配置
1.创建目标接口和目标方法
2.创建增强的方法
3.将类的创建权给spring 配置织入关系
基于注解的aop
1.创建目标的接口和方法 用@component代替bean注入 @aspect标注切面 @before等配置织入关系。
2.在xml文件中开启组建扫描和aop的自动代理。
<!--组件扫描-->
<context:component-scan base-package="com.itheima.aop"/>
<!--aop的自动代理-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>