2015-03-02 72 views

回答

1

您可以按照以下步驟設置你自己的旗幟實現:

創建一個橫幅實現:

class MySpringBootBanner implements Banner { 
    @Override 
    public void printBanner(Environment environment, Class<?> sourceClass, 
      PrintStream printStream) { 
     // Implement your banner 
    } 
} 

擴展SpringApplication

public class MySpringApplication extends SpringApplication { 
    private Banner banner; 

    public MySpringApplication(ResourceLoader resourceLoader, Object... sources) { 
     super(resourceLoader, sources); 
     super.setBanner(new MySpringBootBanner()); 
    } 

    public MySpringApplication(Object... sources) { 
     super(sources); 
     super.setBanner(new MySpringBootBanner()); 
    } 

    public void setBanner(Banner yourBanner) { 
     this.banner = yourBanner; 
    } 
} 

啓動應用程序:你所有的應用程序可以使用MySpringApplication啓動春季啓動應用程序

MySpringApplication app = new MySpringApplication(Application.class); 
app.run(); 
+0

我部分地你的答案一致。問題是SpringApplication類有許多靜態「運行」方法,直接創建SpringApplication實例(忽略子類)。這就是我尋找另一種方法的原因。 – joshuawhite929 2015-03-04 02:12:26

+0

無法覆蓋靜態行爲。既然你正在尋找自定義'SpringApplication'的行爲,你需要創建一個子類的實例。主要的要求是確保每個彈簧啓動應用程序不需要自定義。這種方法可以確保自定義在一個類中,其餘應用程序可以使用這個類。 – Mithun 2015-03-04 03:21:19