1.对IOC的理解
将对象的创建权交由工厂(spring),程序中如果需要对象,从工厂(spring)中获取;
解除类与类之间的耦合
2.对Aop的理解
底层使用的是动态代理;使用配置的方式来完成动态代理要实现的功能。
在不修改源码的基础上,对目标对象中方法进行增强。实现业务之间解耦。
3.切⼊点、通知、连接点、切⾯是什么
切入点:目标对象中要被增强的方法;
通知:要增强的功能;
连接点:目标对象中可以被增强的方法;
切面:切入点和通知的组合
4.springAOP代理方式有几种,怎么配置,实现原理是什么
springAOP代理方式有几种
JDK动态代理:目标类必须实现一个接口
CGLIB动态代理:目标类不能是最终类
5.spring常用的注解
1.IOC相关的注解:
1.创建Bean注解:@Component @Service @Repository @Controller
2.依赖注入注解:@Autowired和@Qualifier @Value
3.作用范围注解:@Scope
4.条件装配:@Conditional
5.配置类和组件扫描:@Configuration @Bean @ComponentScan @Import
6.延迟加载:@Lazy,标注在类上,表示延迟创建bean。第一次使用创建
@Lazy,标注在属性或者方法参数上,先给代理对象
7.配置文件加载:@PropertySource
2.核心
@Order控制Bean的创建顺序
3.事务:
@EnableTransactionManager开启平台事务管理器
@Transactional
4.任务调度,异步
@EnableShaduling @Schaduled
@EnbaleAync @Aync
5.切面注解:
@EnableAspectJAutoProxy
6.spring cache相关注解
@EnableCaching
@Cachable
@CacheEvict
@CachePut
6.@Autowied和@Qualifier,@Resource区别
@Autowird和@Qualifier是spring提供的注解,@Resource是jdk在jsr250中定义的注解
@Autowired: 按照类型注入, 如果IOC容器中有多个bean的类型,和注入的属性类型一致,可能会报错;
判断你的bean是否有加属性autowireCandidate为false,优先排除这些bean;
在排除后的bean中,看那个bean加了@Primary,优先使用该bean;
将属性的名称作为bean的id进行注入;
@Autowired + @Qualifier可以根据id注入:
@Autowired @Qualifier("adUserMapper")
@Resource : 该注解等价于@Autowired + @Qualifier