spring
文章平均质量分 74
spring
NPException
学无止境
展开
-
SpringMVC------AbstractHandlerMethodMapping
类结构此为抽象方法,并实现了initializingBean接口,其实主要的注册操作则是通过afterPropertiesSet()接口方法来调用的。 @Override public void afterPropertiesSet() { initHandlerMethods(); } /** * Scan beans in the ApplicationConte...原创 2019-07-29 14:59:36 · 345 阅读 · 0 评论 -
SpringMVC------RequestMappingHandlerMapping
前言1.RequestMappingHandlerMapping的初始化流程,首先看下RequestMappingHandlerMapping的类图:从类图可以看出RequestMappingHandlerMapping 实现了InitializingBean>>>在AbstractHandlerMethodMapping 中实现了afterPropertiesSet...原创 2019-07-29 14:09:12 · 919 阅读 · 0 评论 -
Spring MVC------DispatcherServlet初始化
引言Spring MVC的核心是DispatcherServletDispatcherServlet类关系1、HttpServletBean继承HttpServlet,因此在Web容器启动时将调用它的init方法,该初始化方法的主要作用将Servlet初始化参数(init-param)设置到该组件上(如contextAttribute、contextClass、namespace、...原创 2019-07-29 11:41:26 · 599 阅读 · 0 评论 -
idea构建编译spring5.1.x源码环境
前言我们平时天天写项目,一直用的spring,个人觉得,每天都在面对spring,确从来没有编译过spring源码,有点不太合适,所以今天我们就来编译一下源码环境,顺便做一个笔记。这里给出我的配置:JDK1.8.0_172,IntelliJ IDEA 2019.1 (Ultimate Edition),gradle-5.4。注意:gradle版本需要4.2以上第一步:保证我们环境已...原创 2019-11-26 11:30:16 · 1401 阅读 · 0 评论 -
ImportBeanDefinitionRegistrar接口的使用和动态注册bean及自己写一个注解实现@Component的功能
前言ImportBeanDefinitionRegistrar类只能通过其他类@Import的方式来加载,通常是启动类或配置类。我们新建一个产品接口:/** * @author: xie fei */public interface ProductService { void execute();}在写一个产品实现类,注意这里我们没有添加@Service...原创 2019-09-27 14:54:50 · 1621 阅读 · 1 评论 -
springframework的钩子方法和钩子接口的介绍
前言SpringFramework其实具有很高的扩展性,只是很少人喜欢挖掘那些扩展点,而且官方的Refrence也很少提到那些Hook类或Hook接口1、Aware接口族Spring中提供了各种Aware接口,方便从上下文中获取当前的运行环境,比较常见的几个子接口有:BeanFactoryAware,BeanNameAware,ApplicationContextAware,Envir...原创 2019-09-27 14:12:26 · 392 阅读 · 0 评论 -
Spring-IoC系列——装配bean
我们定义一个user类:@Data@Builderpublic class User { private Long id; private String name;}然后再定义一个java配置文件AppConfig:@Configurationpublic class AppConfig { @Bean public User user()...原创 2019-07-05 14:24:11 · 294 阅读 · 0 评论 -
Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用
从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对...转载 2019-01-22 14:04:43 · 261 阅读 · 0 评论 -
spring的@Transactional注解详细用法
概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects) 支持...原创 2018-12-03 11:35:59 · 285 阅读 · 0 评论 -
WebMvcConfigurerAdapter 在Spring5.0已被废弃
在SpringBoot2.0及Spring 5.0 WebMvcConfigurerAdapter已被废弃,目前找到解决方案就有两种1 直接实现WebMvcConfigurer (官方推荐)Example:@Configurationpublic class WebMvcConfg implements WebMvcConfigurer { //todo}2 直接...原创 2018-10-15 18:09:42 · 1032 阅读 · 1 评论 -
aop:aspectj-autoproxy作用
通过配置织入@Aspectj切面虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。 通过aop命名空间的<aop:aspectj-autoproxy />声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。当然,spring在内部依旧采用AnnotationAwareAspectJAutoP...原创 2018-07-08 21:52:48 · 4253 阅读 · 0 评论 -
手动配置spring
第一步:导入jar包链接:spring的jar 密码:sctcapplicationContext-root.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.o...原创 2018-05-13 23:55:19 · 421 阅读 · 0 评论