SpringBootSpringBoot框架中如何向web.xml中添加配置(以配置DataSource的后台监控功能为例)

Posted The Gao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBootSpringBoot框架中如何向web.xml中添加配置(以配置DataSource的后台监控功能为例)相关的知识,希望对你有一定的参考价值。

SpringBoot框架中已经没有web.xml文件了,那么如何向web.xml中添加配置呢?比如如何配置filter等?

1.通过application.yaml文件设置配置详情。需要引入log4j的maven依赖。

spring:
  datasource:
    username: root
    password: 
    url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource

    #druid 数据源专有配置
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true

    #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

2.新建MyConfig类,并标注@Configuration注解。

3.通过@Bean、@ConfigurationProperties注解绑定配置文件。

@Configuration
public class MyDataSourceConfig 
	@ConfigurationProperties(prefix="spring.datasource")
	@Bean
	public DataSource getDataSource()
		return new DruidDataSource();
	
	//添加后台监控功能
	@Bean
    public ServletRegistrationBean statViewServlet()
        ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
        Map<String, String> initParams = new HashMap<>();
        initParams.put("loginUsername", "root");
        initParams.put("loginPassword", "12581.gzh");
        bean.setInitParameters(initParams);
        return bean;
    

SpringBoot框架中内置了Servlet,因此没有web.xml文件了。想要实现与MVC相关的功能,就通过ServletRegistrationBean这个泛型类。

使用示例:ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");

以上是关于SpringBootSpringBoot框架中如何向web.xml中添加配置(以配置DataSource的后台监控功能为例)的主要内容,如果未能解决你的问题,请参考以下文章

SpringBootSpringBoot自动装配原理解析

SpringBootSpringBoot自动装配原理解析

SpringBootspringboot中的单元测试

SpringBootspringboot中的单元测试

SpringBoot框架

SpringbootSpringboot整合Jasypt,让配置信息安全最优雅方便的方式