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. mysql 查詢身份證號字段值有效的數據2. python bottle跑起來以后,定時執行的任務為什么每次都重復(多)執行一次?3. 視頻文件不能播放,怎么辦?4. html5 - HTML代碼中的文字亂碼是怎么回事?5. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題6. visual-studio - Python OpenCV: 奇怪的自動補全問題7. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處8. javascript - 彈出一個子窗口,操作之后關閉,主窗口會得到相應的響應,例如網站的某些登錄界面,django后臺的管理等,這是怎么實現的呢?9. javascript - ios返回不執行js怎么解決?10. android - 分享到微信,如何快速轉換成字節數組
