java - spring 注解动态参数
问题描述
@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的配置文档。百度一下吧,不贴配置文件了.
相关文章:
1. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题2. python3.5 urllib.parse.unquote 乱码3. css - float元素不能对齐,使用clearboth或者overflowhidden后又会在顶部出现一像素的空行4. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?5. java - springboot使用容器加载时,如何预先获取ClassLoader资源?6. angular.js - angular4 发出post请求 服务端显示OPTIONS7. ruby - 为什么我新建的字段内容能捕获到,但存不进数据库?8. javascript - vue组件中使用百度分享初次加载失败?9. MYSQL5.7以及postgresql,他们的JSON模式下的查询和存储性能如何!10. Python列表或者字典里面的中文如何处理?

网公网安备