如何定制 Spring Boot 的 Banner
答案:2 悬赏:70
解决时间 2021-02-15 09:23
- 提问者网友:熱戀丶瘋
- 2021-02-15 04:57
如何定制 Spring Boot 的 Banner
最佳答案
- 二级知识专家网友:桃花别处起长歌
- 2021-02-15 05:35
1. 依次在 Classpath 下找 文件 banner.gif, banner.jpg, 和 banner.png, 先找到谁就用谁
2. 继续 Classpath 下找 banner.txt
3. 上面都没有找到的话, 用默认的 SpringBootBanner, 就是我们最常见到的那个!
2. 继续 Classpath 下找 banner.txt
3. 上面都没有找到的话, 用默认的 SpringBootBanner, 就是我们最常见到的那个!
全部回答
- 1楼网友:时光不老我们不分离
- 2021-02-15 07:12
第一步,编写配置bean——printafterinitbean
代码如下,因为只是一个简单例子,这里的配置bean其实可以是其他任何复杂配置bean,例如datasource。往往一个公共包需要多个这样配置bean才能完成其配置。
public class printafterinitbean implements initializingbean {
private string message;
public void afterpropertiesset() throws exception {
system.out.println(message);
}
//setter getter
}
第二步,创建一个autoconfiguration。
如果搜索spring boot下面的类,你会发现其实有很多名字形如xxxautoconfiguration的类,这些类都是spirng boot为我们做的一些快捷配置类。 创建一个testautoconfig,作为一个自动配置类
@configuration
public class testautoconfig {
@bean
@configurationproperties(prefix = "init")
@conditionalonmissingbean(printafterinitbean.class)
@conditionalonproperty(prefix = "init",value = "message")
public printafterinitbean printafterinitbean() {
return new printafterinitbean();
}
}
@configurationproperties 是spring boot提供的方便属性注入的注解,功能其实和@value类似
@conditionalonmissingbean 表示当beanfactory中没有printafterinitbean类型的bean才会创建,否则就会忽略这个bean。这个就是上图中所谓的【满足自动配置条件】,同理的,conditionalonproperty表示当存在配置前缀为init,配置值为message的配置的时候,才会生效。@conditionalonxxx 系列的注解都是为了在自动配置中,不侵入用户的配置。
第三步,创建spring.factories
在resources下面创建meta-inf/spring.factories, 然后在文件中把第二步的类配置进去
org.springframework.boot.autoconfigure.enableautoconfiguration=com.netease.xxx.xxx.urspropertyautoconfig
这样就完成一个spring boot自动配置,如果存在init.message的配置,那么spring boot启动的时候就会打印init.message配置对应值。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯