首页  >  问答  >  正文

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”功能

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

给我你的怀抱给我你的怀抱2702 天前746

全部回复(3)我来回复

  • PHPz

    PHPz2017-05-27 17:42:04

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

    回复
    0
  • PHP中文网

    PHP中文网2017-05-27 17:42:04

    为啥不在配置文件里写?

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

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

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-27 17:42:04

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

    回复
    0
  • 取消回复