Spring高级用法和源码分析
文章平均质量分 84
分享Spring高级用法经验和源码分析
zollty
这个作者很懒,什么都没留下…
展开
-
Spring及Servlet 3.0的Filter和DispatcherType
Servlet的触发方式,DispatcherType ,include和forward区别,Spring中所有的Filter都继承了OncePerRequestFilter,为什么呢?DispatcherType = REQUEST原创 2021-12-30 22:14:43 · 2571 阅读 · 0 评论 -
关于spring boot配置优先级的奇怪之处
SpringBoot官方文档指明了这多种配置方式的优先级,按照从高到低排序分为……(见后文)。但经过我的测试,发现了一些不一致的情况。原创 2021-12-30 22:14:57 · 517 阅读 · 0 评论 -
Spring Web请求处理流程及Filter源码分析
一次Web HTTP请求后端执行的完整流程,原始数据 如下(Spring v5.2.6): at io.fbank.hilo.app.component.ControllerRequestLogInterceptor.preHandle(ControllerRequestLogInterceptor.java:52) at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExe...原创 2021-01-18 09:25:08 · 669 阅读 · 2 评论 -
Spring AOP AspectJ 切面表达式高级用法
一、Spring AOP 配置首先,明白一点,Spring的AOP代理,分为JDK动态代理和Cglib动态代理,这两种代理的实现方式不一样,他们针对同一Aspect的配置效果也可能不一样。 JDK的动态代理,只能代理接口,无法代理非接口的方法。 Cglib动态代理,采用的是继承代理对象的方法,所以可以代理非private的所有方法。 Spring和AspectJ的关系: AspectJ是Eclipse基金会的一个动态代理框架(官方网站为:http://www....原创 2020-12-21 15:46:02 · 718 阅读 · 0 评论 -
Spring 406 Not Acceptable HttpMediaTypeNotAcceptableException
SpringMVC异常报406 (Not Acceptable)的解决办法异常信息如下org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation因为在RequestMapping里面加上了 produces=MediaType.APPLICATION_JSON_VALUE 分析如下:参见:https://www...原创 2020-08-29 16:30:54 · 561 阅读 · 0 评论 -
Spring AOP AspectJ 切面表达式高级用法
一、Spring AOP 配置首先,明白一点,Spring的AOP代理,分为JDK动态代理和Cglib动态代理,这两种代理的实现方式不一样,他们针对同一Aspect的配置效果也可能不一样。 JDK的动态代理,只能代理接口,无法代理非接口的方法。 Cglib动态代理,采用的是继承代理对象的方法,所以可以代理非private的所有方法。 Spring和AspectJ的关系: AspectJ是Eclipse基金会的一个动态代理框架(官方网站为:http://www....原创 2020-08-26 11:35:07 · 1014 阅读 · 0 评论 -
Spring的Property配置加载和使用过程及Environment的初始化过程
本文解析Spring源码,回答以下几个问题:1、Spring的Property配置加载和使用过程?2、Spring内置的Environment的初始化和使用过程?3、常见Spring的Property相关类的关系? 对于Spring加载Property配置,有如下几个类:(按层级展示)PropertiesLoaderSupport PropertiesFactoryB...原创 2019-02-26 18:04:27 · 7632 阅读 · 0 评论 -
Spring ApplicationListener ContextRefreshedEvent 多次执行问题及源码分析
我们可能会使用到如下方法,来在Spring初始化完成后,执行某些程序: @Component public class SpringContextRefreshedListener implements ApplicationListener<ContextRefreshedEvent> { @Ov...原创 2019-02-26 18:04:09 · 6758 阅读 · 4 评论 -
Spring配置加载ContextLoaderListener和DispatcherServlet的区别和关系
在Spring应用的web.xml里面可以配置ContextLoaderListener和DispatcherServlet: <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:...原创 2019-01-25 18:39:48 · 2919 阅读 · 1 评论 -
Spring tomcat下html url找不到
为什么有Controller配置的:@RequestMapping("/sys/aaa.html")String hosdsdsdsfdme() { return "sys/main.html";}但是这个地址找不到?http://localhost:8080/renren-security/sys/aaa.html补充现象:只有.html后缀会找不到。换成.pn...原创 2019-01-18 20:34:15 · 900 阅读 · 0 评论 -
Spring ImportBeanDefinitionRegistrar的用法
以org.mybatis.spring.annotation.MapperScan为例,来说明ImportBeanDefinitionRegistrar的用法 这个注解源代码如下: @Target(ElementType.TYPE) @Import(MapperScannerRegistrar.class) public @interface MapperScan...原创 2019-01-25 18:39:41 · 4142 阅读 · 0 评论 -
Spring Bean高级配置方法大全
案例一:组合配置(1)枚举类型的属性(2)使用构造函数赋值(3)property结点下面用bean作为value<bean id="jacksonMapper" class="org...Jackson2ObjectMapperFactoryBean"> <property name="objectMapper"> <!-- bean标...原创 2019-01-17 18:21:10 · 534 阅读 · 0 评论 -
为Servlet或普通Java程序注入Spring托管的Bean、数据源
S2SH中都是层层注入,action交给Spring托管。即,往Struts的Action中注入Service,往Service中又注入DAO,这个都是通过配置完成的。经过对Spring原理和源码的研究,发现,可以写一个SpringBeanFactory.java,自己实现获取bean实例的功能。下面分两种情况进行说明。 情况1:在web.xml中已经配置Spring的applicat原创 2013-03-23 20:34:28 · 2860 阅读 · 0 评论