您的位置:首页技术文章
文章详情页

java - spring 注解动态参数

【字号: 日期:2023-11-21 11:32:32浏览:49作者:猪猪

问题描述

@SuppressWarnings('serial')@WebServlet(urlPatterns = '/druid/*',initParams = {@WebInitParam(name = 'allow', value = '127.0.0.1'),// IP白名单 (没有配置或者为空,则允许所有访问)@WebInitParam(name = 'deny', value = ''),// IP黑名单 (存在共同时,deny优先于allow)@WebInitParam(name = 'loginUsername', value = 'root'),// 用户名@WebInitParam(name = 'loginPassword', value = 'password'),// 密码@WebInitParam(name = 'resetEnable', value = 'false')// 禁用HTML页面上的“Reset All”功能})public class DruidStatViewServlet extends StatViewServlet { private static final long serialVersionUID = 1L;}

类似上面的代码。

@WebInitParam(name = 'allow', value = '127.0.0.1'),// IP白名单 (没有配置或者为空,则允许所有访问) @WebInitParam(name = 'deny', value = ''),// IP黑名单 (存在共同时,deny优先于allow) @WebInitParam(name = 'loginUsername', value = 'root'),// 用户名 @WebInitParam(name = 'loginPassword', value = 'password'),// 密码 @WebInitParam(name = 'resetEnable', value = 'false')// 禁用HTML页面上的“Reset All”功能

这些参数如何能从配置文件中读出赋值?

问题解答

回答1:

目前Spring Boot 没有resolve Servlet 3.0 API 中 @WebServlet 中的属性值,如果楼主需要的话,可以定义 @Bean ServletRegistrationBean 获取Environment 里面的值即可。

回答2:

为啥不在配置文件里写?

<init-param> <param-name>aaa</param-name> <param-value> bb </param-value> </init-param>

注解就是为了省去配置文件,你这用了注解,又要返回配置文件,有点不理解啊

回答3:

注解和配置文件2选一,看你这里配置的是druid的监控servlet,相同的内容可以通过配置web.xml,可以参考druid的配置文档。百度一下吧,不贴配置文件了.

标签: java
相关文章: