最近改造搜索服務,原來是用 ngx + lua 寫的,雖然性能很高,帶來的問題是可維護性不太方便,不是指lua語言方面,是因為團隊就2個開發人員,另外一個開發人員的擅長語言是Java,於是准備將搜索服務移植於Java語言,選型了現在當下的springboot,這樣就可以讓更多的人更維護這個服務。
我也是剛學springboot,以前也是自己玩過SSM框架,把遇到問題記錄下來:
在登錄攔截器中出現的問題
1、攔截器的排除路徑方法用了不生效
excludePathPatterns攔截不到,login換成 * 也不行, 於是將攔截路徑的邏輯寫在 LoginInterceptor() 中,這樣就引發了第二個問題,因為 /search 是配置的項目路徑前綴,需要動態,放在第二個問題中解決
通過路徑對比,如果是無需校驗的路徑直接房型
2、@Value注解獲取不到配置信息
通過request方法能獲取到需要的信息
3、@Service注入的service使用時發現為null
如果發現為null,直接根據request的上下文獲取
//解決service為null無法注入問題 if (redisService == null) { BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext()); redisService = (RedisService) factory.getBean("redisService"); } String loginUserId = redisService.get(cacheKey);