国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

自定義注解打jar包上傳到maven私服

scwang90 / 3129人閱讀

摘要:最近工作,有些功能在不同的模塊總是會重復(fù)的應(yīng)用,于是想把特定的功能做成一個注解,打成包,放到自己的私服上面。

最近工作,有些功能在不同的模塊總是會重復(fù)的應(yīng)用,于是想把特定的功能做成一個注解,打成jar包,放到自己的maven私服上面。這里做一下記錄(springboot)

一. 自定義注解

建一個注解接口,加上對應(yīng)的注解信息

   @Target(ElementType.METHOD)
   @Retention(RetentionPolicy.RUNTIME)
   public @interface CrawlerTimed {
   }

通過攔截器,攔截使用次注解的方法

            public class CrawlerInterceptor extends HandlerInterceptorAdapter {
                private Logger logger = LoggerFactory.getLogger(CrawlerInterceptor.class);
        
        
            /**
             * 調(diào)用之前
             * @param request
             * @param response
             * @param handler
             * @return
             * @throws Exception
             */
            @Override
            public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
                HandlerMethod handlerMethod = (HandlerMethod)handler;
                Method method = handlerMethod.getMethod();
        
                //獲取此方法上的指定注解
                CrawlerTimed crawlerTimed = method.getAnnotation(CrawlerTimed.class);
        
                //判斷當前注解是否存在
                if(crawlerTimed != null){
                    long millis = System.currentTimeMillis();
                    request.setAttribute("startTime",millis);
                    logger.info("進入方法:"+method.getName()+" 的時間是:"+millis);
                }
        
                return true;
            }
        
            @Override
            public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
                HandlerMethod handlerMethod = (HandlerMethod)handler;
                Method method = handlerMethod.getMethod();
                //獲取此方法上的指定注解
                CrawlerTimed crawlerTimed = method.getAnnotation(CrawlerTimed.class);
        
                //如果存在這個注解
                if(crawlerTimed!=null){
                    long endTime = System.currentTimeMillis();
                    Long startTime =(Long) request.getAttribute("startTime");
                    long periodTime = endTime - startTime;
                    logger.info("離開方法:"+method.getName()+" 的時間是:"+endTime);
                    logger.info("方法:"+method.getName()+" 總計耗時:"+periodTime +"ms");
                }
            }
            }
            

3 注冊此攔截器,不然不會被spring管理

/**
 * 注冊自定義的攔截器
 */
@Configuration
public class InterceptorRegister extends WebMvcConfigurerAdapter {

    //創(chuàng)建攔截器bean
    @Bean
    public CrawlerInterceptor crawlerInterceptor(){
        return new CrawlerInterceptor();
    }


    //蔣攔截器bean注冊到spring
    @Override
    public void addInterceptors(InterceptorRegistry registry){
        registry.addInterceptor(crawlerInterceptor());
    }

}

4.resources/META-INF/spring.factories文件
若沒有,則新建此文件

org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.iamcrawler.www.crawler_annotation.config.InterceptorRegister

5.打jar包

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/69580.html

相關(guān)文章

  • Maven就是這么簡單

    摘要:軟件項目的管理就會變得簡單很多。比如說的驅(qū)動程序,,在是獲取不到的,就需要手工上傳到里是倉庫組,在里沒有這個概念,是特有的。 什么是Maven Maven是一個采用純Java編寫的開源項目管理工具, Maven采用了一種被稱之為Project Object Model (POM)概念來管理項目,所有的項目配置信息都被定義在一個叫做POM.xml的文件中.. Maven是一款跨平臺的項目...

    leonardofed 評論0 收藏0
  • Maven 實戰(zhàn)

    摘要:的主要思想是約定優(yōu)于配置。強烈建議遵循以上規(guī)范,避免不必要的麻煩。依賴傳遞依賴范圍除了控制,還會對依賴傳遞產(chǎn)生影響。此外還提供了和來進一步管理依賴,分別稱為可選依賴和排除依賴。 showImg(https://segmentfault.com/img/remote/1460000012363876?w=1240&h=698); Maven 是跨平臺的項目管理工具,主要服務(wù)于基于Java...

    twohappy 評論0 收藏0
  • hudson +gradle+git+maven(非必選)持續(xù)集成一 動化

    摘要:持續(xù)集成正是針對這一類問題的一種軟件開發(fā)實踐。持續(xù)集成的原則業(yè)界普遍認同的持續(xù)集成的原則包括需要版本控制軟件保障團隊成員提交的代碼不會導(dǎo)致集成失敗。 第一集 hudson+gradle+git+maven(非必選)持續(xù)集成編譯,打包,發(fā)布到倉庫集成 前言 什么是持續(xù)集成 隨著軟件開發(fā)復(fù)雜度的不斷提高,團隊開發(fā)成員間如何更好地協(xié)同工作以確保軟件開發(fā)的質(zhì)量已經(jīng)慢慢成為開發(fā)過程中不可回避的...

    xietao3 評論0 收藏0

發(fā)表評論

0條評論

scwang90

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<