我想添加Banner接口的实现,而无需开发人员在每个应用程序中自定义SpringApplication。有没有其他方法可以获得对这个类的引用,因为SpringBoot正在启动,这将允许我注入我自己的Banner实现?我知道banner.txt定制,并希望做更多。
答案 0 :(得分: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
启动Spring启动应用程序
MySpringApplication app = new MySpringApplication(Application.class);
app.run();