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. html5 - bootstrap修改样式的问题2. java - 如图,jsp页面的form中的action是怎么映射到这个位置的?为什么不写dynUser就可以映射到save?3. javascript - 清空Chrome缓存的疑问4. css - 关于HTML中width和height的疑问(这个提问的标题不好起)5. mysql - 求一个sql语句,比较简单。6. java - 接口中的成员变量怎么不是常量了?7. javascript - js数组键名为何不能用变量?我想像PHP那样使用变量作为关联数组键名该怎么做?8. javascript - 在 model里定义的 引用表模型时,model为undefined。9. HTML5表单必填属性设置自定义验证消息?10. javascript - Vue 自定义控件v-model双向绑定

网公网安备