通过在application.properties设置对应的key-value对,可以配置Spring Boot应用程序的很多特性,例如POST、SSL、MySQL等等。...如果需要更加复杂的调优,则可以利用Spring Boot提供的EmbeddedServletContainerCustomizer接口通过编程方式和修改配置信息。...在WebConfiguration类中增加EmbeddedServletContainerCustomizer类型的spring bean,代码如下: @Bean public EmbeddedServletContainerCustomizer...@Bean public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() { return (ConfigurableEmbeddedServletContainer...在我们这个例子中,实际上传入的是TomcatEmbeddedServletContainerFactory容器对象,但是如果使用Jutty或者Undertow容器,就会用对应的容器对象。
序 本文简单介绍一下,在springboot中怎么个性化404错误信息。...EmbeddedServletContainerCustomizer(){ @Override public void customize(ConfigurableEmbeddedServletContainer...container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html")); } }; } 然后定义个404的request...HttpStatus.NOT_FOUND, "/404.html")); } }; } 然后将404.html放在resources/static目录下 这样就大功告成了 doc spring...boot中自定义错误提示页面
Spring Boot 默认使用嵌入式 Tomcat,默认没有页面来处理404等常见错误。因此,为了给用户最佳的使用体验,404等常见错误需要我们自定义页面来处理。...使用 Java7 内部类的实现: @Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new...EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer...ErrorPage 类是一个封装了错误信息的类,它可以在 Jetty 和 Tomcat 环境下使用。...错误页面需要放在项目static内容目录下,它的默认位置是:src/main/resources/static,如下图所示: 在Spring Boot2.0以上配置嵌入式Servlet容器时EmbeddedServletContainerCustomizer
1)、如何定制和修改Servlet容器的相关配置; 1、修改和server有关的配置(ServerProperties): server.port=8081 server.context-path=/crud...ConfigurableEmbeddedServletContainer类型的 组件 if (bean instanceof ConfigurableEmbeddedServletContainer...> getCustomizers() { if (this.customizers == null) { //从容器中获取所有这个类型的组件:EmbeddedServletContainerCustomizer...//定制Servlet容器,给容器中可以添加一个EmbeddedServletContainerCustomizer类型的组件; this.customizers = new ArrayList...,给容器中添加相应的EmbeddedServletContainerFactory【TomcatEmbeddedServletContainerFactory】 2)、容器中某个组件要创建对象就会惊动后置处理器
到Spring容器中,Mybatis(MapperScannerRegistrar)也是通过此接口来完成Mapper类的定义。...(bean); } } ConfigurableEmbeddedServletContainer:是Web容器的接口,默认注入的有 ?...BeanPostProcessor :是Spring容器的回调接口,在所有Bean初始化之前和之后分别回调此接口的postProcessBeforeInitialization,postProcessAfterInitialization...通过以上步骤分析了SpringBoot集成SpringMVC和Tomcat功能简要步骤。其实只要找到了入口,即可Debug一步一步的走下去,来查看内部实现。...总结 通过以上分析和Mybatis功能分析,发现满满的都是套路。
springboot定制嵌入式的servlet容器修改容器配置有两种方式可以修改容器的配置可以直接在配置文件中修改和server有关的配置properties 代码解读复制代码server.port=8081server.tomcat.uri-encoding...=UTF-8//通用的Servlet容器设置server.xxx//指定Tomcat的设置server.tomcat.xxx编写一个EmbeddedServletContainerCustomizer组件来进行嵌入式的...Servlet容器的定制器,来修改Servlet容器的配置java 代码解读复制代码@Beanpublic EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer...(){ return new EmbeddedServletContainerCustomizer() { //定制嵌入式的Servlet容器相关的规则 @Override...public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort
SpringBoot 笔记 ( 十一 ):Servlet容器 SpringBoot默认使用Tomcat作为嵌入式的Servlet容器 1)、定制和修改Servlet容器的相关配置 1、修改配置文件中的和...EmbeddedServletContainerCustomizer 嵌入式的Servlet容器的定制器,来修改Servlet容器的配置 12345678910 @Bean //将这个定制器加入到容器中...//定制Servlet容器,给容器中可以添加一个EmbeddedServletContainerCustomizer类型的组件 .getBeansOfType(EmbeddedServletContainerCustomizer.class...3)、后置处理器,从容器中获取所有的 EmbeddedServletContainerCustomizer,调用定制器的定制方法,而我们的ServerProperties 就是我们要的定制器。...完成配置和启动。
问题分析: springboot 内置了Tomcat插件,Application作为启动入口,初始化时会去找内置的Tomcat /* * Copyright (c) 2016, inter3i.com...org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer...{ return builder.sources(Application.class); } @Override public void customize(ConfigurableEmbeddedServletContainer...{ container.setPort(7080); container.setContextPath(CONTEXT_PATH); } } 如果在pom文件中移除了...Tomcat插件,使用自定义的tomcat来启动时,程序就会报这样的bug,解决方法就是使用Spring内置的Tomcat插件 org.springframework.boot
Spring Boot以一种新的微服务的方式来替代以Spring Framework构建项目的传统方式,我已经计划在后续的项目开发中使用它。...我们需要用org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer类来实现该功能,在Spring Boot...表达式来简化实现的方式,在代码中创建了三个ErrorPage实例来处理三个通用的HTTP错误状态码,并将他们添加到container当中。...ErrorPage类是一个封装了错误信息的类,它可以在Jetty和Tomcat环境下使用。...return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer
##前言## Spring框架作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多,所以知识量很广。...Spring Boot:一款Spring框架的子框架,也可以叫微框架,是2014年推出的一款使Spring框架开发变得容易的框架。...Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring MVC的Web应用和REST服务开发。...在pom.xml加入Spring Boot的jar 如果只是测试一个字符串输出的话,只要加入spring-boot-starter(核心模块)和spring-boot-starter-web(因为这个一个...boot自动给程序进行必要的配置,等价于以默认属性使用 @Configuration,@EnableAutoConfiguration和@ComponentScan package com; import
spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境。...可是当我们要同时启动2个springboot工程时,就会有问题,有可能会因为8080端口被第一个应用占用而导致第二个应用无法启动,这时就需要修改其中一个工程的启动端口。...1.可以通过实现EmbeddedServletContainerCustomizer接口来实现: public class Application extends SpringBootServletInitializer...implements EmbeddedServletContainerCustomizer { @Override protected SpringApplicationBuilder...SpringApplication.run(Application.class, args); } @Override public void customize(ConfigurableEmbeddedServletContainer
我已经是Spring Framework框架的忠实粉丝。对于企业软件开发者来说它提供了对常见问题的通用解决方案,包括那些你在未来开发中没有意识到的问题。...但是,它构建的J2EE项目变得比较臃肿,需要被一种新的解决方案替代。 我最大的抱怨就是最开始使用Spring Framework构建项目十分缓慢和复杂,比如构建一个包含JPA的MVC应用。...表达式来简化实现的方式,在代码中创建了三个ErrorPage实例来处理三个通用的HTTP错误状态码,并将他们添加到container当中。...ErrorPage类是一个封装了错误信息的类,它可以在Jetty和Tomcat环境下使用。...return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer
将Spring Boot升级到2.0,Spring Cloud升级到Finchley.M8时,Eureka注册就报错了 Eureka Server配置: server.port=9011 spring.application.name...=eureka-server spring.security.user.name=username spring.security.user.password=pass eureka.instance.hostname...=eureka-client spring.security.basic.enabled=true spring.security.user.name=username spring.security.user.password...ThreadPoolExecutor.java:617) [na:1.8.0_92] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92 去掉Spring...Security后问题解决,可以知道问题是Spring Security引起的 CSRF保护默认是开启的,可以禁用掉即可 解决方案如下: @EnableWebSecurity static class
拦截器(Interceptor)和过滤器(Filter)的区别 Spring的Interceptor(拦截器)与Servlet的Filter有相似之处,比如二者都是AOP编程思想的体现,都能实现权限检查...拦截器能够深入到方法前后、异常抛出前后等,因此拦截器的使用具有更大的弹性。允许用户介入(hook into)请求的生命周期,在请求过程中获取信息,Interceptor 通常和请求更加耦合。...在Spring构架的程序中,要优先使用拦截器。几乎所有 Filter 能够做的事情, interceptor 都能够轻松的实现 Filter 是 Servlet 规范规定的。...而拦截器是在 Spring容器内的,是Spring框架支持的。...规范不同 Filter 不能够使用 Spring 容器资源 拦截器是一个Spring的组件,归Spring管理,配置在Spring文件中,因此能使用Spring里的任何资源、对象,例如 Service对象
##Druid## Druid:一款为监控而生的数据库连接池框架,整个项目由数据库连接池、插件框架和SQL解析器组成。...Druid功能介于PowerDrill和Dremel之间,它几乎实现了Dremel的所有功能,并且从PowerDrill吸收一些有趣的数据格式。...Druid允许以类似Dremel和PowerDrill的方式进行单表查询,同时还增加了一些新特性,如为局部嵌套数据结构提供列式存储格式、为快速过滤做索引、实时摄取和查询、高容错的分布式体系架构等。...Spring Boot:一款Spring框架的子框架,也可以叫微框架,是2014年推出的一款使Spring框架开发变得容易的框架。...Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring MVC的Web应用和REST服务开发。
本文转载自:Spring Boot使用Netty SocketIO实现WebIM功能 Netty SocketIO是一个 Java语言版本的Socket.IO服务器的实现,基于Netty框架开发,使用简单...在Spring Boot中包含了对Netty SocketIO的支持,只需要简单配置即可加入。 第一步:增加Netty SocketIO的依赖。...netty-socketio 1.7.11 第二步:在Application中增加启动项...; import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; import...{ System.out.println(data.getMessage()); } //消息接收入口,收发消息,用户向坐席发送消息和
序 本文主要研究下springboot2的embeded container的配置改动 springboot 1.x import org.apache.catalina.connector.Connector...org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer...org.springframework.stereotype.Component; @Component public class EmbeddedTomcatConfig implements EmbeddedServletContainerCustomizer...{ @Override public void customize(ConfigurableEmbeddedServletContainer container) {...方法 小结 springboot1.x的相关类如下: org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer
spring boot中如何使用自己的错误页面。...因为boot中是没有web.xml这个文件的,所以我们需要使用java config的方式来实现。...当发生异常时转发到不同的页面 @Configuration public class ErrorConfiguration { @Bean public EmbeddedServletContainerCustomizer...@Override public void customize(ConfigurableEmbeddedServletContainer container)...boot中的错误页面 * @author yinjihuan * */ @Controller public class ErrorController { @GetMapping("
今天要和大家聊的是在 Spring Boot 项目中,如何开启 https 配置,为我们的接口保驾护航。...历史上,HTTPS 连接经常用于网络上的交易支付和企业信息系统中敏感信息的传输。...在 2000 年代末至 2010 年代初,HTTPS 开始广泛使用,以确保各类型的网页真实,保护账户和保持用户通信,身份和网络浏览的私密性。...key-store-password就是在cmd命令执行过程中输入的密码。...请求转发 考虑到 Spring Boot 不支持同时启动 HTTP 和 HTTPS ,为了解决这个问题,我们这里可以配置一个请求转发,当用户发起 HTTP 调用时,自动转发到 HTTPS 上。