个人习惯使用  实现的方式 public class WebMvcConfiguration implements WebMvcConfigurer {…
为什么我们的项目里出现两个配置类继承WebMvcConfigurationSupport时,只有一个会生效.我在网上找了半天都是说结果的,没有人分析源码到底是为啥,博主准备讲解一下,希望可以帮到大家! 大家基本遇到过一种情况,就是我配置类中已经配置了,为什么就是没有生效呢?其中一种原因就是,自己写的配置类也继承了WebMvcConfigurationSupport,当项目出现两个配置类都继承该类时,只会讲第一个配置类生效,至于为什么,就是今天博主需要讲解的,我们必须了解一些springboot的…
1 .SpringBoot启动类加上  注解 @EnableWebMvc @SpringBootApplication@EnableWebMvc public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }} 2. 继承 WebMvcConfigurationSupport 加载配置类重写原有 addResourceHand…
目的:为了保留SpringBoot对SpringMVC自动配置,另外我们还想要做一些自己拓展的功能 如何做扩展? 以配置view-controller实现跳转为例: 原先在SpringMvc中我们写view-controller: <mvc:view-controller path="/hello" view-name="success"/> 在springboot中,我们实现这个功能,需要创建一个配置类(类上加Configuration注解),然后实现…
配置类 MyAppConfig  import com.test.springboot.service.HelloService; import org.springframework.context.annotation.*; /** * @Configuration:注解告诉springboot当前类是一个配置类,是来替代之前的spring配置文件. * 在配置文件中用<bean></bean>标签添加组件 */ @Configuration @ComponentScan(ba…
最近遇到个场景,需要在使用@Bean注解定义bean的时候为对象设置一些属性,比如扫描路径,因为路径经常发布新特性的时候需要修改,所以就计划着放在配置文件中,然后通过@ConfigurationProperties或@Value结合@PropertySource注入,类似如下: @Configuration @PropertySource("classpath:application.properties") public class AbcConfig { @Value("…
参考:https://www.runoob.com/w3cnote/yaml-intro.html YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写.在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言). YAML 的语法和其他高级语言类似,并且可以简单表达清单.散列表,标量等数据形态.它使用空白符号缩进和大量依赖外观的特色,特别适…
1.基本语法k:(空格)v:表示一对键值对(一个空格必须有):以空格的缩进来控制层级关系:只要是左对齐的一列数据,都是同一个层级的属性和值也是大小写敏感: server: port: 8081 path: /hello 2.值的写法字面量: 普通的值(数字,字符串,布尔)k: v:字面直接来写:字符串: 默认不用加上单引号或者双引号:"":双引号:不会转义字符串里面的特殊字符:特殊字符会作为本身想表示的意思name: "zhangsan \n lisi":输出:zh…
实现WebMvcConfigurer接口 /** * @descripte 配置自己的视图解析器 */@Configurationpublic class MyViewConfigController implements WebMvcConfigurer { @Override /*重写addViewControllers实现*/ public void addViewControllers(ViewControllerRegistry registry) { registry.addView…
WebMvcConfigurerAdapter配置类是spring提供的一种配置方式,采用JavaBean的方式替代传统的基于xml的配置来对spring框架进行自定义的配置.因此,在spring boot提倡的基于注解的配置,采用“约定大于配置”的风格下,当需要进行自定义的配置时,便可以继承WebMvcConfigurerAdapter这个抽象类,通过JavaBean来实现需要的配置. WebMvcConfigurerAdapter是一个抽象类,它只提供了一些空的接口让用户去重写,比如如果想添…
1.引入两个需要的jar <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version></version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> &…
众所周知,spring最核心的两个功能是aop和ioc,即面向切面,控制反转.这里我们探讨一下如何使用spring aop. 1.何为aop aop全称Aspect Oriented Programming,面向切面,AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果.其与设计模式完成的任务差不多,是提供另一种角度来思考程序的结构,来弥补面向对象编程的不足. 通俗点讲就是提供一个为一个业务实现提供切面注入的…
首先将结论写文章的最前面,一个项目中只能有一个继承WebMvcConfigurationSupport的@Configuration类(使用@EnableMvc效果相同),如果存在多个这样的类,只有一个配置可以生效.推荐使用 implements WebMvcConfigurer 的方法自定义mvc配置. 背景 项目中的一个模块需要实现上传图片后通过url访问保存在本地上的图片的功能,在SpringBoot 系列教程(十八):SpringBoot通过url访问获取内部或者外部磁盘图片中详细介绍了…
问题描述 项目中需要一个拦截器用于拦截请求,在没有请求中生成requestId.然后写了一个配置类,这个类继承了 WebMvcConfigurationSupport类,重写了addInterceptors 方法,来实现拦截器的注册.正当一切顺利的时候,我发现我jackson的全局配置失效了. 该配置类的写法 @Configuration public class MvcInterceptorConfig extends WebMvcConfigurationSupport { @Resourc…
前言 今天在写项目的时候,需要再springboot项目启动之后,加载我自定义的配置类的一些方法,百度了之后特此记录下. 正文 方法有两种: 1. 创建自定义类实现 CommandLineRunner接口,重写run()方法.springboot启动之后会默认去扫描所有实现了CommandLineRunner的类,并运行其run()方法. @Component @Order(2) //通过order值的大小来决定启动的顺序 public class AskForLeave implements…
一.在springboot项目中,如果不进行配置,直接访问静态页面是无法访问的,需要进行配置,springboot舍弃了XML文件的配置方式,这里我们采用开发配置类的方式.新建MvcConfig类,加上@Configuration注解,相当于告诉程序这是一个配置类,在启动程序的时候,程序会自动去执行该配置类.实现WebMvcConfigurer接口,该接口下有很多配置方法,详情参考API. 1.静态资源放行实现WebMvcConfigurer接口后,重写addResourceHandlers方法…
在03-springboot-web的Filter包下,创建HeFilter类 代码示例: package com.bjpowernode.springboot.filter; import javax.servlet.*; import java.io.IOException; public class HeFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, Servl…
在servlet目录下创建个servlet类,示例代码如下: package com.bjpowernode.springboot.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 系列文章汇总 jackson学习之一:基本信息 jackson学习之二:jackson-core jackson学习之三:常用API操作 jackson学习之四:WRAP_ROOT_VALUE(root对象) jackson学习之五:JsonInclude注解 jackson学习之六:常用类注…
什么是自定义Mybatis的配置规则? 答:即原来在mybatis配置文件中中我们配置到<settings>标签中的内容,如下第6-10行内容: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.…
环境搭建见上篇:SpringBoot整合Shiro 一:搭建环境 Shiro配置类配置 shiro的配置主要集中在 ShiroFilterFactoryBean 中 关于权限: anon:无需认证就可以访问 ​ authc:必须认证了才能访问 ​ user:必须用有了 记住我 功能才能用 ​ perms:拥有对某个资源的权限才能访问 ​ role:拥有某个角色权限才能访问 1.登录拦截 ShiroConfig 中 ShiroFilterFactoryBean 给控制器添加2个 "必须认证了才能访…
系列文章目录和关于我 一丶什么是SpringBoot自动装配 SpringBoot通过SPI的机制,在我们程序员引入一些starter之后,扫描外部引用 jar 包中的META-INF/spring.factories文件,将文件中配置的类型信息加载到 Spring 容器,实现引入starter即可开启相关功能的操作,大大简化了程序员手动配置bean,即开即用. 二丶SpringBoot自动装配源码解析 1.源码解析入口 SpringApplication.run(启动类.class, args…
springboot自动配置原理以及手动实现配置类 1.原理 spring有一个思想是"约定大于配置". 配置类自动配置可以帮助开发人员更加专注于业务逻辑开发,springboot在启动的时候可以把一些配置类自动注入到spring的IOC容器里,项目运行之后就可以直接使用这些配置类的属性和方法等. springboot有一个全局配置文件,application.properties / application.yml,各种属性都可以在文件中进行自定义配置. 自动配置实现原理: 我们都知…
1.application.properties zookeeper.address=@mvn.zookeeper.address@ zookeeper.namespace=@mvn.zookeeper.namespace@ 2.pom.xml中多profile环境不同变量定义 <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</…
在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configuration public class MyMvcConfig extends WebMvcConfigurerAdapter { @Override public void addViewControllers(ViewControllerRegistry registry) { // super.…
其实在springboot中静态资源的映射文件是在resources目录下的static文件夹,springboot推荐我们将静态资源放在static文件夹下,因为默认配置就是classpath:/static/但是之前我们都习惯将静态资源文件放在webapp下面,特别是打war包的项目,但是如果我们直接创建一个webapp文件目录,将静态资源放进去,在项目启动的时候我们是访问不到的,所以我们要进行一些项目配置. 改变springboot项目静态资源文件访问目录的方式有两种,一种是直接在配置文件…
SpringBoot 配置 Servlet.Filter.Listener 在SpringBoot应用中,嵌入式的 Servlet 3.0+ 容器不会直接使用 ServletContainerInitializer 和 WebApplicationInitializer,即通过以上两个接口实现的 Servlet.Filter.Listener 配置都是无效的,这是为了防止第三方代码的设计损坏应用程序,原文如下 Embedded servlet containers will not direct…
监听器:listener是servlet规范中定义的一种特殊类.用于监听servletContext.HttpSession和servletRequest等域对象的创建和销毁事件.监听域对象的属性发生修改的事件.用于在事件发生前.发生后做一些必要的处理.其主要可用于以下方面:1.统计在线人数和在线用户2.系统启动时加载初始化信息3.统计网站访问量4.记录用户访问路径. 过滤器:Filter是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:…
最近拜读了杨开振老师的书,深入浅出springBoot2.x,挖掘了很多以前被忽略的知识, 开发一年多,工作中一直用传统springmvc的开发,基本都还是用的传统的xml配置开发, 看到书里有提到,完全可以使用注解与配置类开发springmvc项目,去掉配置,这里就学习一下! 先新建一个mvc项目: 配置好目录结构之后,就可以配置环境了,不过不用xml,这次用注解和java类进行配置,如果是springboot 就可以直接开发了,哈哈: 继承springmvc提供的AbstractAnnota…
前提 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库: maven: <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.46</version>…