自定义注解的spring注入问题
生活随笔
收集整理的這篇文章主要介紹了
自定义注解的spring注入问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
? ?我就我遇到的自定義注解無法注入的問題整理一下:
1、遇到的問題
? ? SpringMvc的注入式通過id去查找上下文,這種方式用起來非常好用,但是在使用自定義標簽時遇到了問題,注入永遠為空。這是為什么呢?
? ? 這是因為spring 注解注入@Autowired?前提是這個類被實例化,你自定義的標簽只有在調用的時候?才會實例化的。
2、解決辦法
?1、?如果使用 Spring 的 MVC 包,則可以使用 RequestContextAwareTag 類。例:
public class AuthTag extends RequestContextAwareTag {private IAuthService authService;private String auth;public String getAuth() {return auth;}public void setAuth(String auth) {this.auth = auth;}@Overrideprotected int doStartTagInternal() throws Exception {boolean result = false;String erp = LoginContext.getLoginContext().getPin();authService = (IAuthService) this.getRequestContext().getWebApplicationContext().getBean("authService");List<SysAuth> list = authService.getByErp(erp);for(SysAuth a:list){if(auth.equals(a.getToken())){result = true;}}return result? EVAL_BODY_INCLUDE : SKIP_BODY;} }2、沒有使用Spring的Mvc包則建議使用以下方法:
?
3、結果
? ?我使用了第一種方式,注入的問題完美解決,注意繼承類不同時需要實現的方法也不一樣。
轉載于:https://my.oschina.net/githubhty/blog/1031080
總結
以上是生活随笔為你收集整理的自定义注解的spring注入问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 连云港到西安多少公里
- 下一篇: 吸引人的旅游标语文案29句