
spring
hepei120
这个作者很懒,什么都没留下…
展开
-
spring bean的生命周期示意图
原创 2020-04-09 13:56:05 · 277 阅读 · 1 评论 -
springmvc 之视图解析器源码分析
springmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器。 springmvc里提供了多个视图解析器,InternalResourceViewResolver就是其中之一:<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">原创 2017-10-18 22:50:18 · 1072 阅读 · 0 评论 -
springmvc 之HandlerExceptionResolver
springmvc 之HandlerExceptionResolver实例和源码分析原创 2017-10-18 23:47:32 · 422 阅读 · 0 评论 -
spring aop 创建代理
spring aop 创建代理 以及advice构建MethodInterceptor原创 2017-10-10 22:54:21 · 371 阅读 · 0 评论 -
spring mybatis 之MapperFactoryBean
mybatis 为什么只要写接口而不用去实现这是因为spring利用JDK动态代理实现我们定义的接口下面先看demo再分析 实体类Userpackage com.eroadsf.springdemo.mybatis.entity;public class User { private Integer id; private String name; public Intege原创 2017-10-11 23:10:49 · 820 阅读 · 0 评论 -
spring mybatis之sqlSessionFactoryBean
sqlSessionFactoryBean实现了InitializingBean和FactoryBean 1.FactoryBean 实现了FactoryBean的类,通过getBean方法获取bean时,就是调用getObject()返回实例 2.InitializingBean 实现了InitializingBean的bean会在初始化时调用其afterPropertiesSet原创 2017-10-12 23:06:20 · 1773 阅读 · 0 评论 -
spring mybatis 之MapperScannerConfigurer
spring mybatis mapperscannerConfigurer原创 2017-10-12 23:28:07 · 580 阅读 · 0 评论 -
spring mvc 之ContextLoaderListener
springmvc 的源码分析要从web.xml开始。 2个重要的类一个是org.springframework.web.context.ContextLoaderListener,一个是org.springframework.web.servlet.DispatcherServletContextLoaderListener的作用是启动web容器时,能够自动装配ApplicationContex原创 2017-10-15 21:45:30 · 326 阅读 · 0 评论 -
springmvc 之DispatcherServlet初始化
ContextLoaderListener 只是辅助功能,用于创建WebApplicationContext类型实例,真正的逻辑实现其实在DispatcherServlet中进行,DispatcherServlet实现了servlet。servlet的生命周期是由servlet容器控制。分为3个阶段:初始化、运行、销毁DispatcherServlet的初始化 在父类HttpServletBean原创 2017-10-15 22:33:30 · 972 阅读 · 0 评论 -
springmvc @RequestMapping @Controller
上一篇了解了springmvc 根据http的请求匹配到对应的handler来处理请求。那用来做比较的handler那里来的呢。这就是本文的内容 这个得从springmvc的配置<mvc:annotation-driven/>开始。 这个标签的解释处理类是:MvcNamespaceHandlerpublic class MvcNamespaceHandler extends NamespaceH原创 2017-10-16 23:25:24 · 502 阅读 · 0 评论 -
spring 事件驱动 以及线程分离
Spring事件驱动模型是一种观察者模式的典型应用,或者叫发布——订阅模型,Java中awt的事件机制和Spring的事件机制都是观察者模式的应用。一般都是发布者有更改变动时,订阅者会接收到发布者的变动通知。举个通用的例子网上看新闻,首先我们需要去订阅新闻,当有新的新闻时,网站会自动推送新闻给已经订阅过该新闻的用户下面一个两个例子 第一个例子非线程分离import org.springfr原创 2017-10-10 00:20:56 · 1159 阅读 · 0 评论 -
spring aop 之增强器处理
spring aop 源码分析之增强器获取 public List<Advisor> getAdvisors(MetadataAwareAspectInstanceFactory aspectInstanceFactory) { //获取标记AspectJ的类 Class<?> aspectClass = aspectInstanceFactory.getAspectMeta原创 2017-10-09 23:57:05 · 1685 阅读 · 0 评论 -
spring事务 Propagation.REQUIRES_NEW、Propagation.NESTED、Propagation.REQUIRED使用时候发现的
Spring事务的传播性与隔离级别 Spring它对JDBC的隔离级别作出了补充和扩展,其提供了7种事务传播行为。 1、PROPAGATION_REQUIRED:默认事务类型,如果没有,就新建一个事务;如果有,就加入当前事务。适合绝大多数情况。 2、PROPAGATION_REQUIRES_NEW:如果没有,就新建一个事务;如果有,就将当前事务挂起。 3、PROPA...原创 2017-09-21 17:03:53 · 3755 阅读 · 0 评论 -
spring源码分析 加载bean过程
引用上一篇的分析spring循环依赖图片的图片 分析一下spring加载bean的过程1 getBean方法里就调用一个AbstractBeanFactory.doGetBean方法1.1 doGetBean 这个方法就是加载spring加载bean的骨架protected <T> T doGetBean( final String name, final Class<T>原创 2017-09-26 22:53:42 · 304 阅读 · 0 评论 -
spring源码分析之FactoryBean
上文中描述spring加载bean的过程中,有一段关于FactoryBean的处理。所以今天讲一下FactoryBean。从名字上直译就是bean工厂,用来创建bean的。从Spring 3.0 开始, FactoryBean开始支持泛型,即接口声明改为FactoryBean 的形式:package org.Springframework.beans.factory; public inte原创 2017-09-29 00:13:41 · 267 阅读 · 0 评论 -
spring扩展容器-ApplicationContext
ApplicationContext和BeanFactory两者都是用于加载bean的,但是相比之下ApplicationContext提供更多的扩展功能。ApplicationContext包含了BeanFactory的所有功能。 使用两个不同的类去加载配置文件在写法上的不同。 使用BeanFactory方式加载配置文件 XmlBeanFactory f=new XmlBe原创 2017-10-06 10:45:42 · 249 阅读 · 0 评论 -
spring扩展容器-ApplicationContext之BeanFactoryPostProcessor
1.BeanFactoryPostProcessor 该接口的定义如下:@FunctionalInterfacepublic interface BeanFactoryPostProcessor { /** * Modify the application context's internal bean factory after its standard * init原创 2017-10-07 11:07:07 · 778 阅读 · 0 评论 -
spring扩展容器-ApplicationContext之BeanPostProcessor
上一篇提到的BeanFactoryPostProcessor的调用,这里BeanPostProcessor是注册,真正调用是在bean的实例化阶段进行的。spring大部分扩展功能是通过后处理器的方式进行扩展的。也就是很多功能BeanFactory不支持的原因。BeanFactory没有实现后处理器的自动注册,而ApplicationContext是做了后处理器的自动注册。 下面的自定义一个后处理原创 2017-10-07 16:18:03 · 994 阅读 · 0 评论 -
spring aop的最简单的例子
下面先写一个简单的spring aop例子package com.eroadsf.springdemo.aop;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.aspect原创 2017-10-07 21:43:51 · 1628 阅读 · 0 评论 -
spring aop 源码分析
spring在解析xml配置文件的时候,会根据传入的namespaceUri找到对应的NamespaceHandler,这个映射是在spring.handlers中配置的。 拿aop举例: spring aop的配置文件肯定是要加这么一段aop的命名空间xmlns:aop=”http://www.springframework.org/schema/aop” 我们在spring-aop的ME原创 2017-10-07 22:09:10 · 329 阅读 · 0 评论 -
springmvc 之DispatcherServlet逻辑处理
springmvc 之DispatcherServlet源码分析原创 2017-10-15 23:34:19 · 321 阅读 · 0 评论 -
spring 事务Propagation.REQUIRES_NEW 不起作用的原因
spring 事务Propagation.REQUIRES_NEW 不起作用的原因原创 2017-09-22 00:16:48 · 8721 阅读 · 3 评论 -
spring源码分析 循环依赖
首先出现循环依赖肯定是自己的代码设计出现了问题,但是保不准真有这种情况发生啊。 spring对原型模式的循环依赖的处理很简单,直接就抛出异常。创建失败protected <T> T doGetBean( final String name, final Class<T> requiredType, final Object[] args, boolean typeCheck原创 2017-09-24 23:36:49 · 544 阅读 · 0 评论