springboot
zhaokuner
老程序员:
身是菩提树,心如明镜台,时时勤拂拭,莫使惹尘埃。
展开
-
spring boot 过滤器、拦截器的区别与使用
拦截器与过滤器的区别:1、过滤器和拦截器触发时机不一样,过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。如下图:2、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,因为拦截器是spring提供并管理的,spring的功能可以被拦截器使用,在拦截器里注入一个service,可以调用业务逻辑。而过滤器是JavaEE标准,只需依赖servlet api ,不需要依赖spring。过滤器拦截器运行先后步骤:转载 2020-12-25 19:51:19 · 141 阅读 · 0 评论 -
转载:一网打尽 @ExceptionHandler、HandlerExceptionResolver、@controlleradvice 三兄弟!
from:https://www.cnblogs.com/xiang--liu/p/11422504.html把 @ExceptionHandler、HandlerExceptionResolver、@controlleradvice 三兄弟放在一起来写更有比较性。这三个东西都是用来处理异常的,但是它们使用的场景都不一样。看本文给你详细的讲解,再也不怕面试被问到了!这三个注解都是来自于 SpringMVC 的,都能进行异常处理。Java 程序员都非常的痛恨异常,很多人讨厌 Java 就是因为它的转载 2020-12-15 17:48:59 · 244 阅读 · 0 评论 -
WebMvcConfigurerImpl implements WebMvcConfigurer
package com.zhaokuner.yzmmkia.biz; public class WebMvcConfigurerImpl implements WebMvcConfigurer { // 用于在HandlerMappings中设置路径的匹配样式 public void configurePathMatch(PathMatchConfigurer configurer) { // 配置是否使用通用后缀匹配符(".*") // 如果设为tr.原创 2020-12-15 17:47:13 · 2630 阅读 · 2 评论 -
springboot 拦截器&过滤器
过滤器public class LogWebFilter implements Filter第一种@Configurationpublic class FilterConfig { @Bean public FilterRegistrationBean registFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration原创 2020-08-20 21:47:44 · 174 阅读 · 0 评论 -
BeanDefinitionRegistryPostProcessor用法-注册自己新bean
BeanDefinitionRegistryPostProcessor继承了BeanFactoryPostProcessor接口,bean工厂的bean属性处理容器,说通俗一些就是可以管理我们的bean工厂内所有的beandefinition(未实例化)数据,可以随心所欲的修改属性。可以在任何获得了BeanDefinitionRegistry或者SingletonBeanRegistry实例的地方进行动态注册。但是如果bean不是在BeanFactoryPostProcessor中被注册,那么该bea原创 2020-08-20 21:39:40 · 5583 阅读 · 0 评论 -
BeanPostProcessor用法-修改bean属性
每个bean都会调用,可以在这里处理,bean的一些数据public interface BeanPostProcessor { //bean初始化方法调用前被调用 Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException; //bean初始化方法调用后被调用 Object postProcessAfterInitialization(Object b原创 2020-08-20 21:34:43 · 1375 阅读 · 0 评论 -
ImportBeanDefinitionRegistrar用法
Spring官方通过ImportBeanDefinitionRegistrar实现了@Component、@Service等注解的动态注入机制。很多三方框架集成Spring的时候,都会通过该接口,实现扫描指定的类,然后注册到spring容器中。 比如Mybatis中的Mapper接口,springCloud中的FeignClient接口,都是通过该接口实现的自定义注册逻辑。所有实现了该接口的类的都会被ConfigurationClassPostProcessor处理,ConfigurationClass转载 2020-08-20 21:27:56 · 1846 阅读 · 0 评论 -
BeanDefinition用法
BeanDefinition 作用一个BeanDefinition描述了一个bean的实例,包括属性值,构造方法参数值和继承自它的类的更多信息。BeanDefinition仅仅是一个最简单的接口,主要功能是允许BeanFactoryPostProcessor 例如PropertyPlaceHolderConfigure 能够检索并修改属性值和别的bean的元数据。BeanDefinition的继承关系父接口:AttributeAccessor, BeanMetadataElement.原创 2020-08-20 21:25:05 · 3221 阅读 · 0 评论 -
springboot自定义属性源工厂
如果想要更加灵活的自定义属性源,比如实现从中心化的配置服务加载配置,可以通过实现PropertySourceFactory接口,并通过配置PropertySource注解的factory参数来实现。@Configuration@PropertySource(value = ""/*placeholder*/, factory = CompositePropertySourceFactory.class)public class CompositeConfigAutoConfiguration原创 2020-08-20 21:19:35 · 359 阅读 · 0 评论 -
springboot自定义配置源
概述在Spring boot中可以通过xml或者@ImportResource 来引入自己的配置文件,但是这里有个限制,必须是本地,而且格式只能是 properties(或者 yaml)。那么,如果我们有远程配置,如何把他引入进来来呢。第一种方式这一种方法,相对更简单些,但是相对没那么“优雅”。就是通过EnvironmentPostProcessor接口把我们自定义的propertySource加入environment中public class FrameworkEnvironmentPostPr原创 2020-08-20 21:10:28 · 378 阅读 · 0 评论 -
springboot 解决jar中的自定义配置加载
优先级小于本地配置 来源自定义属性源工厂,即调用的应用会覆盖整个配置这个用法可以保证以下代码起作用,因为bean加载前加载配置@ConfigurationProperties(prefix = "parentfw.httpclient.poolmanager")@Configuration@EnableConfigurationProperties(HttpclientProperties.class)@ConditionalOnProperty(prefix = "parentfw.ht.原创 2020-08-20 21:03:33 · 637 阅读 · 0 评论