SpringBoot--配置详解
SpringBoot使用了一个全局的配置文件application.properties,放在src/mian/resource目录下或者类路径的/config下。springboot的全局配置文件的作用是对一些默认配置的值进行修改
- spring.profiles.active=dev:指定因环境不同的配置文件
- server.port=8888:指定项目的端口号
- server.context-path=/xhy:指定项目的根路径
自定义属性
- application.properties提供自定义属性的支持,这样我们就可以吧一些常量配置在这里,然后直接要在使用的地方通过注解@value(value="${config.name}")取值(value注解可以取spring加载任意properties文件的key值)
自定义配置类
- 使用@value注解有时候比较笨重,spring提供一种强类型的bean来替代这种方式
@Configuration
@EnableConfigurationProperties(UserProperties.class)
public class MyConfiguration{ } @Component
@ConfigurationProperties(prefix = "spring.data.mongodb")
public class UserProperties {
private String host;
private int prot; }
spring.data.mongodb.host=192.168.1.1
spring.data.mongodb.port=1234
配置Filter、Servlet、Interceptor、Listener
- Filter可在application.java主启动类中添加如下代码
@Bean
public FilterRegistrationBean getEncodingFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new CharacterEncodingFilter());
registration.setUrlPatterns(Collections.singletonList("*.json"));
registration.setName("encodingFilter");
Map<String, String> initParams = new HashMap<>();
initParams.put("encoding", "UTF-8");
registration.setInitParameters(initParams);
registration.setOrder(1);
return registration;
}
- Servlet可在application.java主启动类中添加如下代码(监听器类似这两个ServletListenerRegistrationBean)
@Bean
public ServletRegistrationBean getDispatcherServlet() {
Rw4SpringDispatchServlet servlet = new Rw4SpringDispatchServlet();
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(servlet);
servletRegistrationBean.setLoadOnStartup(1);
Map<String, String> initParams = new HashMap<>();
initParams.put("contextConfigLocation", "classpath:spring/jsonDispatcher-servlet.xml");
servletRegistrationBean.setInitParameters(initParams);
servletRegistrationBean.setUrlMappings(Collections.singletonList("/"));
servletRegistrationBean.setName("jsonDispatcher");
servletRegistrationBean.setOrder(2);
return servletRegistrationBean;
}
- 过滤器和监听器,servlet的又一种配置方式
- 在主启动类上加上@ServletComponentScan注解(默认值为加载当前模块的包,如果想连同其它模块一起扫描,加上value="cn.com")表明开启servlet的注解
- 创建一个监听器,实现ServletContextListener接口,添加@WebListener注解
- 自定义一个filter,实现Filter接口,添加@WebFilter注解,Servlet添加@WebServlet注解
SpringBoot--配置详解的更多相关文章
- springboot配置详解
springboot配置详解 Author:SimpleWu properteis文件属性参考大全 springboot默认加载配置 SpringBoot使用两种全局的配置文件,全局配置文件可以对一些 ...
- SpringBoot | 第三章:springboot配置详解
基于springboot的约定优于配置的原则,在多数情况下,启动一个应用时,基本上无需做太多的配置,应用就能正常启动.但在大部分开发环境下,添加额外配置是无所避免的,比如自定义应用端口号(比较在机器比 ...
- 第二篇:SpringBoot配置详解
SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...
- SpringBoot—整合log4j2入门和log4j2.xml配置详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...
- SpringBoot @ConfigurationProperties详解
文章目录 简介 添加依赖关系 一个简单的例子 属性嵌套 @ConfigurationProperties和@Bean 属性验证 属性转换 自定义Converter SpringBoot @Config ...
- Log4j配置详解(转)
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- logback 常用配置详解<appender>
logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...
- [转]阿里巴巴数据库连接池 druid配置详解
一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- logback配置详解3<filter>
logback 常用配置详解(三) <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY ...
随机推荐
- javaMail简介(一)
一:开发javaMail用到的协议 SMTP(simple Message Transfer Protocal):简单消息传输协议.发送邮件时使用的协议,描述了数据该如何表示,默认端口为:25 POP ...
- opencv: 基本知识(二);
1.cvArr* 与 cv::Mat之间的转换; cv::Mat ---- > cvArr* cv::Mat img; IplImage temp = IplImage(img); cvArr ...
- varStatus="vs"
通过在百度上查看,发现是属于JSTL 标签.我具体说一下用途吧 就是删除/新增的时候,序号总是连续的从1开始排列,序号的数据与数据库没有关系,序号并不等于id,在数据库中的id仍然是原来的那样,不连续 ...
- docker 基本功能
Docker开启Remote API docker默认是没有开启Remote API的,需要我们手动开启. 1.编辑/lib/systemd/system/docker.service文件: 注释掉图 ...
- Tensorflow object detection API 搭建物体识别模型(一)
一.开发环境 1)python3.5 2)tensorflow1.12.0 3)Tensorflow object detection API :https://github.com/tensorfl ...
- python遇到的知识点
python遇到的知识点,记录一下.方便学习. 文件相关操作 查了资料,关于open()的mode参数: 'r':读 'w':写 'a':追加 'r+' == r+w(可读可写,文件若不存在就报错(I ...
- window.open post
前端代码 expExcel(){ window.open(PreURL+'company_list_exp?keyword='+this.keyword+'&area_code='+this. ...
- tomcat自动重新加载应用
前言 当应用配置文件发生变化时,无需重启tomcat,可以使tomcat重新加载应用. 场景 假设存在一个J2EE应用A,对应war文件名称为A.war,部署在tomcat的webapps目录下,即: ...
- php时间转换
UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换 ...
- 【poj1741】Tree 树的点分治
题目描述 Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dis ...