一, 对IOC的理解
原理: 就是对象的创建权交给spring框架, 如果程序中需要对象, 就从工厂中获取
作用: 解除类与类之间的耦合
二, 对Aop的理解
原理: 1, 底层使用的是动态代理;
2, 使用配置的方式来完成动态代理要实现的功能
作用: 1, 在不修改源码的基础上, 对目标i对象中的方法进行增强, 实现业务之间的解耦
三, 切入点, 通知, 连接点, 切面是什么?
1, 切入点: 目标对象中要被增强的方法就是切入点
2, 通知: 要增强的功能
3, 连接点: 可以被增强的方法就是连接点
4, 切面:切入点和通知合起来就是切面
四, Spring中Aop代理的方式有几种? 怎么配置, 实现原理是什么?
两种. 1, JDK动态代理类: 目标必须实现一个接口
2, Cglib动态代理, 目标类不能是最终类
五, spring中常用的注解
1, IOC相关的注解
1.1 创建Bean注解
@Component @Service @Repository @Controller
1.2 依赖注入注解
@Autowired @Qualifier
1.3 作用范围注解
@Scope
1.4 条件装配
@Conditional
1.5 配置类和组件扫描
@Configuration @Bean @ComponentScan @Import
1.6 延迟加载
@Lazy 1, 标注在类上,第一次使用才创建; 2, 标注在属性,方法上, 先给代理对象
1.7 配置文件加载
@PropertySource
2, 核心
2.1 @Order控制Bean 的创建顺序
3, 事务
3.1 @EnableTransationManager 开启事务管理器
3.2 @Transactional
4, 任务调度
4.1 @EnableShaduling @Schaduled
4.2 @EnableAync @Aync
5, 切面注解
5.1 @EnableAspectAutoProxy
6, Spring Cache相关注解
@EnableCaching @Cachable @CacheEvict @CachePut
六, @Autowired 和 @Resource的不同
1, 提供方式不同
@Autowired和@Qualifier是Spring的注解
@Resource是jdk在jsr250中的注解,等价于Autowired + qulifier
2, 装配时默认类型不同
3, 依赖查找顺序不同
4, 支持的参数不同
5, 依赖注入的用法支持不同
6, 编译器IDEA的提示不同