spring是一个开放源代码的应用程序框架,主要针对与bean的生命周期进行管理
为什么使用spring框架 ? 让程序设计实现松耦合
什么是面向接口编程? 以后对象中的属性一般写接口,java中多态对象的体现,属性类型更加的灵活 松耦合
什么是loc ? loc为控制翻转,这是一种设计思想。对象创建的权利由spring框架完成,由容器管理对象的生命周期。
spring容器的启动方式 1.xml的方式 2.注解模式
什么时候使用工厂模式 :1.对象不能直接实例化的时候 2.spring框架整合其他的第三方框架时使用
单例与多例:默认条件下是单例模式 @Scope("singleton") 单例模式
@Scope("prototype") 多例模式
懒加载的规则 1.默认条件下 懒加载无效 注解@Lazy有效只对单例米欧式有效
spring的生命周期4个过程:1.对象创建 2.对象初始化@PostConstruct 3.业务调用 4.对象销毁@PreDestroy
@PostConstruct 在对象创建之后立即调用
@PreDestroy对象消亡时候进行调用
spring中依赖注入的注解@Autowired 1.默认按照类型类型进行注入
2.可以按照名称注入要添加@Qualifier("xxx")
springMVC设计思想:View视图层 Model业务层 Control控制层
@Value spring为属性动态赋值 基本类行和String和集合(几乎不用)
动态代理 JDK动态代理/CGlib动态代理
AOP 面向切面编程 在不改变源码的条件下对方法进行扩展
AOP常见注解
@Aspect标识切面
@Pointcut切入点表达式 4种写法,2种常用
五个通知注解
@EnableAspectJAutoProxy//开启aop
排序注解@Order
关于AOP 通知的用法
第一类:
1. @Before(“pointcut()”)
2. @AfterReturning(“pointcut()”)
3. @AfterThrowing(“pointcut()”)
4. @After(“pointcut()”)
可以记录程序执行的各个过程. 为日志提供记录.
第二类:
5. @around环绕通知 可以控制目标方法是否执行. 环绕通知可以控制业务流转的过程!!!
例子:
1. 权限的校验
2. 缓存系统
3. 异常的处理等
1.2.2 通知中常用API
需求:
1. 获取当前的目标对象的类型.
2. 获取当前的方法名称
3. 获取当前传递的参数.
.