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. java - jvm 年轻代 如何回收 survivor 对象2. docker-compose中volumes的问题3. dockerfile - [docker build image失败- npm install]4. java - 对于jsp技术,aspx技术的困惑5. java - idea如何不显示.idea target这些文件夹6. javascript - [,null]是什么用法7. java - spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解8. css - 使用blur()滤镜为什么有透明的效果9. javascript - 移动端H5页面禁止缩放了,在浏览器上仍然可以缩放10. javascript - vue vue-router 报$router重复定义
