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 gitlab 如何git clone?2. java报错Communications link failure 该如何解决?3. android - 项目时间长了,字符串文件strings有的字符串可能是多余的,有没有办法快速检测那些是没用的?4. javascript - 怎么看网站用了什么技术框架?5. mysql - 用PHPEXCEL将excel文件导入数据库数据5000+条,本地数据库正常,线上只导入15条,没有报错,哪里的问题?6. angular.js使用$resource服务把数据存入mongodb的问题。7. 刷新页面出现弹框8. 关于Android权限的获取问题,大家遇到过这样的情况嘛?9. angular.js - angularJs ngRoute怎么在路由传递空字符串及用ng-switch取得10. PC 手机兼容的 编辑器
