java - spring 注解動(dòng)態(tài)參數(shù)
問(wèn)題描述
@SuppressWarnings('serial')@WebServlet(urlPatterns = '/druid/*',initParams = {@WebInitParam(name = 'allow', value = '127.0.0.1'),// IP白名單 (沒(méi)有配置或者為空,則允許所有訪問(wèn))@WebInitParam(name = 'deny', value = ''),// IP黑名單 (存在共同時(shí),deny優(yōu)先于allow)@WebInitParam(name = 'loginUsername', value = 'root'),// 用戶名@WebInitParam(name = 'loginPassword', value = 'password'),// 密碼@WebInitParam(name = 'resetEnable', value = 'false')// 禁用HTML頁(yè)面上的“Reset All”功能})public class DruidStatViewServlet extends StatViewServlet { private static final long serialVersionUID = 1L;}
類似上面的代碼。
@WebInitParam(name = 'allow', value = '127.0.0.1'),// IP白名單 (沒(méi)有配置或者為空,則允許所有訪問(wèn)) @WebInitParam(name = 'deny', value = ''),// IP黑名單 (存在共同時(shí),deny優(yōu)先于allow) @WebInitParam(name = 'loginUsername', value = 'root'),// 用戶名 @WebInitParam(name = 'loginPassword', value = 'password'),// 密碼 @WebInitParam(name = 'resetEnable', value = 'false')// 禁用HTML頁(yè)面上的“Reset All”功能
這些參數(shù)如何能從配置文件中讀出賦值?
問(wèn)題解答
回答1:目前Spring Boot 沒(méi)有resolve Servlet 3.0 API 中 @WebServlet 中的屬性值,如果樓主需要的話,可以定義 @Bean ServletRegistrationBean 獲取Environment 里面的值即可。
回答2:為啥不在配置文件里寫?
<init-param> <param-name>aaa</param-name> <param-value> bb </param-value> </init-param>
注解就是為了省去配置文件,你這用了注解,又要返回配置文件,有點(diǎn)不理解啊
回答3:注解和配置文件2選一,看你這里配置的是druid的監(jiān)控servlet,相同的內(nèi)容可以通過(guò)配置web.xml,可以參考druid的配置文檔。百度一下吧,不貼配置文件了.
相關(guān)文章:
1. sql語(yǔ)句 - mysql中關(guān)聯(lián)表查詢問(wèn)題2. css - chrome下a標(biāo)簽嵌套img 顯示會(huì)多個(gè)小箭頭?3. javascript - 如何將一個(gè)div始終固定在某個(gè)位置;無(wú)論屏幕和分辨率怎么變化;div位置始終不變4. html - vue項(xiàng)目中用到了elementUI問(wèn)題5. javascript - iframe 為什么加載網(wǎng)頁(yè)的時(shí)候滾動(dòng)條這樣顯示?6. python - django models 為生成的html元素添加樣式。7. javascript - vscode alt+shift+f 格式化js代碼,通不過(guò)eslint的代碼風(fēng)格檢查怎么辦。。。8. javascript - 有什么比較好的網(wǎng)頁(yè)版shell前端組件?9. mysql updtae追加數(shù)據(jù)sql語(yǔ)句10. javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?
