spring
huanshirenjian
这个作者很懒,什么都没留下…
展开
-
spring系列11-springMVC初始化和异步处理
1.ServletContainerInitializer在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInitializer实现此功能。我们平时常用的Tomcat容器主要通过Context容器和ContextConfig监听器完成这个机制。ContextConfig监听器负责在容器...原创 2019-04-30 17:51:40 · 563 阅读 · 0 评论 -
spring系列2-bean初始化和注销
1.通过@bean指定@Configurationpublic class MainA { //给容器中bean @Bean(initMethod="init",destroyMethod="destory") public Person person01(){ return new Person(); }}在多例下,容器只负责bean的初始化,不负责bean的销毁(2)I...原创 2019-04-21 12:31:49 · 454 阅读 · 0 评论 -
spring系列3-后置处理器
Spring对bean的赋值, 注入其它组件, 生命周期注解功能,@Async等等功能,在低层都是通过底层对BeanPostProcessor也就是后置处理器的支持实现的。下面看几个常见的后置处理器,具体的spring源码将在以后分析。1.ApplicationContextAware类实现了ApplicationContextAware接口,可以取得上下文ApplicationContex,...原创 2019-04-24 19:50:28 · 927 阅读 · 0 评论 -
spring系列4-@Value、@propertysource、@Autowired、@Primary、@Qualifier、@Resource
1. @Value和@propertysource平时我们使用spring时,会有一些类的属性随环境的值不同,一般我们会将其写入properties文件中。这个配置文件我们可以通过@propertysource注解加载到系统中,再利用@Value注入到类属性中。@Configuration@PropertySource(value="classpath:/jdbc.properties")...原创 2019-04-25 19:56:19 · 261 阅读 · 0 评论 -
spring系列5-动态代理
在后续分析AOP之前,先分析下动态代理,因为sprig的AOP实现的核心一直就是动态代理。既然有动态代理,那肯定有静态代理。1.静态代理静态代理是一种组合,在代码编译阶段,代理对象就知道自己代理的是哪个对象实例。静态代理不多说,很简单,代理和实现类实现了同一个接口,内部持有了对象的引用。先定义对象接口public interface PersonInterface { String ...原创 2019-04-27 10:16:23 · 694 阅读 · 0 评论 -
spring系列6-AOP实现
1.AOPAOP是面向切面编程,在运行期间将某段代码切入到指定位置运行。2. AOP注解实现(1)注解类@Aspect@Componentpublic class AOPAspects { @Pointcut("execution(public * com.aaa.cap9.aop.Person.*(..))") public void pointCut() {}; @Befor...原创 2019-04-27 12:02:20 · 132 阅读 · 0 评论 -
spring系列7-spring源码分析之主流程
spring中最核心的就是IOC和AOP。所以spring的源码分析我准备分为三个部分,第一个部分是spring源码主流程,第二个部分是spring的ioc,第三个部分是AOP。1. AnnotationConfigApplicationContext介绍如果我们的项目是基于spring全注解或者平时我们自己测试的时候,都是从AnnotationConfigApplicationContext...原创 2019-04-27 18:17:11 · 308 阅读 · 0 评论 -
spring系列8-spring源码分析之IOC
前面spring的主流程有一个方法finishBeanFactoryInitialization是创建IOC容器的核心。1. finishBeanFactoryInitializationprotected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) { // Initi...原创 2019-04-27 19:58:15 · 77 阅读 · 0 评论 -
spring系列9-spring源码分析之AOP
1. EnableAspectJAutoProxy在启动spring的AOP功能是通过添加@EnableAspectJAutoProxy注解,看下EnableAspectJAutoProxy源码:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Import(AspectJAutoProxyRe...原创 2019-04-29 09:58:53 · 134 阅读 · 0 评论 -
spring系列10-spring源码分析之事务管理器
1.开启事务配置开启事务管理器分为三步:注册事务管理器 @Bean public PlatformTransactionManager platformTransactionManager() throws PropertyVetoException{ return new DataSourceTransactionManager(dataSource()); }开启事务管...原创 2019-04-29 19:42:36 · 295 阅读 · 0 评论 -
spring系列1-bean的注入方法
1. xml方式这种方式就不多说了,基本大家基础spring都是从这种方式开始。而且后续用注解是个趋势,比如springboot和springcloud。2. @bean方式//配置类====配置文件@Configurationpublic class MainConfig { //给IOC容器中注册bean @Bean("person") public Person person...原创 2019-04-21 11:05:13 · 196 阅读 · 0 评论