spring 注解动态参数

wxmimperio
  • 720
@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”功能

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

回复
阅读 9.2k
3 个回答

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

为啥不在配置文件里写?

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏