Spring注解驱动
文章平均质量分 56
小草dym
这个作者很懒,什么都没留下…
展开
-
声明式事务--@EnableTransactionManagement || @Transactional
* 声明式事务:* * 环境搭建:* 1、导入相关依赖* 数据源、数据库驱动、Spring-jdbc模块* 2、配置数据源、JdbcTemplate(Spring提供的简化数据库操作的工具)操作数据* 3、给方法上标注 @Transactional 表示当前方法是一个事务方法;* 4、 @EnableTransactionManagement 开启基于注解的事务管理功能;* @EnableXXX* 5、配置事务管理器来控制事务;* @Bean* pu..原创 2021-05-05 16:00:58 · 683 阅读 · 0 评论 -
AOP-原理总结
* 总结:* 1)、 @EnableAspectJAutoProxy 开启AOP功能* 2)、 @EnableAspectJAutoProxy 会给容器中注册一个组件 AnnotationAwareAspectJAutoProxyCreator* 3)、AnnotationAwareAspectJAutoProxyCreator是一个后置处理器;* 4)、容器的创建流程:* 1)、registerBeanPostProcessors()注册后置..原创 2021-05-05 15:05:38 · 103 阅读 · 0 评论 -
AOP原理-创建AOP代理--AnnotationAwareAspectJAutoProxyCreator【InstantiationAwareBeanPostProcessor】的作用
AnnotationAwareAspectJAutoProxyCreatorInstantiationAwareBeanPostProcessor* AnnotationAwareAspectJAutoProxyCreator【InstantiationAwareBeanPostProcessor】的作用:* 1)、每一个bean创建之前,调用postProcessBeforeInstantiation();* 关心MathCalculator和LogAspect的创建* .原创 2021-05-05 12:28:34 · 133 阅读 · 0 评论 -
AOP原理-AnnotationAwareAspectJAutoProxyCreator执行时机 || InstantiationAwareBeanPostProcessor
AnnotationAwareAspectJAutoProxyCreator => InstantiationAwareBeanPostProcessor finishBeanFactoryInitialization(beanFactory) 完成BeanFactory初始化工作 创建剩下的单实例bean* 1)、遍历获取容器中所有的Bean,依次创建对象getBean(beanName);* getBean->doGe..原创 2021-05-04 16:50:35 · 156 阅读 · 0 评论 -
创建和注册AnnotationAwareAspectJAutoProxyCreator的过程
AnnotationAwareAspectJAutoProxyCreatorAnnotationAwareAspectJAutoProxyCreator:* AnnotationAwareAspectJAutoProxyCreator* ->AspectJAwareAdvisorAutoProxyCreator* ->AbstractAdvisorAutoProxyCreator* ->AbstractA.原创 2021-05-04 16:29:19 · 112 阅读 · 0 评论 -
@EnableAspectJAutoProxy||AOP原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】
AOP原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】@EnableAspectJAutoProxy是什么?* AOP原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】* @EnableAspectJAutoProxy;* 1、@EnableAspectJAutoProxy是什么?* @Import(AspectJAutoProxyRegistrar.class):给容器中导入AspectJAutoPr.原创 2021-05-04 15:20:07 · 84 阅读 · 0 评论 -
AOP:【动态代理】||@Pointcut
AOP:【动态代理】* 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式;* 1、导入aop模块;Spring AOP:(spring-aspects)<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.12.R...原创 2021-05-04 14:51:00 · 495 阅读 · 0 评论 -
@PropertySource || @Profile ||代码的方式激活某种环境
MainConfigOfProfile.javapackage com.dym.config;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.EmbeddedValueResolverAware;import org.springframework.context.annotation.Be...原创 2021-05-04 11:59:37 · 232 阅读 · 0 评论 -
自动装配——@Autowired 构造器,参数,方法,属性都是从容器中获取参数组件的值||自定义组件想要使用Spring容器底层的一些组件 ApplicationContext,BeanFactory
@Autowired:构造器,参数,方法,属性;都是从容器中获取参数组件的值* 1)、[标注在方法位置]:@Bean+方法参数;参数从容器中获取;默认不写@Autowired效果是一样的;都能自动装配* 2)、[标在构造器上]:如果组件只有一个有参构造器,这个有参构造器的@Autowired可以省略,参数位置的组件还是可以自动从容器中获取* 3)、放在参数位置:*自定义组件想要使用Spring容器底层的一些组件(ApplicationContext,B..原创 2021-04-24 20:57:39 · 613 阅读 · 0 评论 -
自动装配——@Resource(JSR250)和@Inject(JSR330)---[java规范的注解]
AutowiredAnnotationBeanPostProcessor 解析完成自动装配功能;原创 2021-04-24 20:11:51 · 203 阅读 · 0 评论 -
自动装配——@Autowired&@Qualifier&@Primary
* 自动装配;* Spring利用依赖注入(DI),完成对IOC容器中中各个组件的依赖关系赋值;* 1)、@Autowired:自动注入:* 1)、默认优先按照类型去容器中找对应的组件:applicationContext.getBean(BookDao.class);找到就赋值* 2)、如果找到多个相同类型的组件,再将属性的名称作为组件的id去容器中查找* applicationContext.getBean("b...原创 2021-04-24 19:12:59 · 146 阅读 · 0 评论 -
组件赋值——@Value ---@PropertySource(value={“classpath:/person.properties“})
@ValuePerson.javapackage com.dym.bean;import org.springframework.beans.factory.annotation.Value;public class Person { //使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) @Value("张三") private Strin...原创 2021-04-24 16:28:18 · 589 阅读 · 0 评论 -
Bean的生命周期——init-method和destroy-method - 通过让Bean实现InitializingBean,DisposableBean--BeanPostProcessor
* bean的生命周期:* bean创建---初始化----销毁的过程* 容器管理bean的生命周期;* 我们可以自定义初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法* * 构造(对象创建)* 单实例:在容器启动的时候创建对象* 多实例:在每次获取的时候创建对象\* * BeanPostProcessor.postProcessBeforeInitialization* 初始化:* 对象创建完成...原创 2021-04-24 16:01:31 · 251 阅读 · 0 评论 -
给容器中注册组件 || @Scope -- @Lazy -- @Conditional({Condition}) -- @Import--使用Spring提供的 FactoryBean
* @Scope:调整作用域 * prototype:多实例的:ioc容器启动并不会去调用方法创建对象放在容器中。 * 每次获取的时候才会调用方法创建对象; * singleton:单实例的(默认值):ioc容器启动会调用方法创建对象放到ioc容器中。 * 以后每次获取就是直接从容器(map.get())中拿, * request:同一次请求创建一个实例 * session:同一个session创建一个实例** 懒...原创 2021-04-24 13:12:13 · 101 阅读 · 0 评论 -
容器--AnnotationConfigApplicationContext--FilterType ||@ComponentScan
public enum FilterType { ANNOTATION, ASSIGNABLE_TYPE, ASPECTJ, REGEX, CUSTOM}MyTypeFilter.classpackage com.atguigu.config;import java.io.IOException;import org.springframework.core.io.Resource;import org.springframework.c...原创 2021-04-24 11:03:09 · 108 阅读 · 0 评论