欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot服務正常啟動之后,訪問服務url無響應問題及解決

 更新時間:2023年07月26日 09:51:22   作者:繪碼先生  
這篇文章主要介紹了springboot服務正常啟動之后,訪問服務url無響應問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

springboot服務正常啟動之后,訪問服務url無響應處理

本人遇到過幾次,但是由于間隔比較長,所以每次都花了很多時間來查找,這個匪夷所思的問題,經過仔細的查找分析,終于鎖定了過濾器,最終找到問題,這里記錄一下

其實原因很簡單就是過濾器里沒有執(zhí)行chain.doFilter(request,response)方法,導致過濾鏈里的其他過濾器得不到執(zhí)行,才導致請求沒有響應的這樣的結果的.

這就是我過濾器添加doFilter后服務可以正常訪問的圖,之前缺少,每次寫過濾器都容易忘記

springboot正常啟動,URL訪問不了后臺,MARK一下注解掃描

練習項目的注解和代碼檢查了都沒有問題,啟動類和配置類不在同一個目錄中,以下是項目目錄:

在這里插入圖片描述

查看發(fā)現(xiàn)啟動類注解添加掃描,就順利進入:

@SpringBootApplication(scanBasePackages = “com”)

@SpringBootApplication注解,默認該注解定義了Spring將自動掃描包package com.jia.staffmanagesys及其子包下的bean。

在這里插入圖片描述

@ComponentScan、@SpringBootApplication中的scanBasePackages屬性

@ComponentScan

創(chuàng)建一個配置類,在配置類JavaConfig形式上添加 @ComponentScan 注解。

該注解默認會掃描該類所在的包下所有的配置類,相當于之前的 <context:component-scan>@ComponentScan 的作用就是根據(jù)定義的掃描路徑,把符合掃描規(guī)則的類裝配到spring容器中,注解定義如下:

@Retention(RetentionPolicy.RUNTIME)
//表示只可以聲明在類上
@Target({ElementType.TYPE})
@Documented
@Repeatable(ComponentScans.class)
public @interface ComponentScan {
    @AliasFor("basePackages")
    String[] value() default {};
    @AliasFor("value") //表示和value等價
    String[] basePackages() default {};
    Class<?>[] basePackageClasses() default {};

@Target({ElementType.TYPE}) 表示只可以聲明在類上

value 表示用法如 @ComponentScan(value="")  也可以簡寫為 @ComponentScan("") ,省略value=

basePackages,表示用法如@ComponentScan(basePackages=""),由于和value等價(@AliasFor("value")),也可簡寫為@ComponentScan("")

SpringBootApplicatioscan中的scanBasePackages屬性

本質上,SpringBootApplicatioscan中的scanBasePackages屬性底層原理正是復用了@ComponentScan,因此語法和意義基本一致

public @interface SpringBootApplication {
   //復用了@ComponentScan
    @AliasFor(
        annotation = ComponentScan.class,
        attribute = "basePackages"
    )
    String[] scanBasePackages() default {};

@AliasFor標簽表示別名的意義,可以理解為等價于。

因此,下面2種用法相同:

@SpringBootApplication (scanBasePackages="com.jia")
public class MyClass {}
package com.jia;
@ComponentScan("com.jia")
@SpringBootApplication
public class MyClass {
}

通過上面的注解spring在啟動的時候會按照相關的路徑進行對@Component元素的加載。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論