Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置。另外,Spring Boot还集成了嵌入式的Web服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序。
一,自定义 SpringApplication
前面我们看到了SpringBoot项目的启动类是这样的。
@SpringBootApplication
publicclassSpringBootSampleApplication {
publicstaticvoidmain(String[] args) {
SpringApplication.run(SpringBootSampleApplication.class, args);
}
}
其实,我们可以自定义它的各种属性。这时候需要创建SpringApplication对象并设置它的各种属性。比方说下面不显示Banner。还有很多配置和用法请查阅官方文档。
@SpringBootApplication
publicclassSpringBootSampleApplication {
publicstaticvoidmain(String[] args) {
SpringApplication application =newSpringApplication (SpringBootSampleApplication.class);
application.setBannerMode(Banner.Mode.OFF);
application.run(args);
}
}
二,事件和监听器
如果有更高级的需求可以使用监听器来管理Spring Boot程序的各个生命周期。监听器需要实现接口。
publicclass MyAppListenerimplementsApplicationListener {
@Override
publicvoidonApplicationEvent(ApplicationReadyEvent event) { System.out.println("应用程序准备就绪");
KafkaConsumerService kafkaConsumer = new KafkaConsumerService();
Thread t = new Thread(kafkaConsumer);
t.start();
}}
在监听器中可以设置下面几种事件。
ApplicationStartingEvent
ApplicationEnvironmentPreparedEvent
ApplicationPreparedEvent
ApplicationReadyEvent
ApplicationFailedEvent
之后,把监听器添加到Spring程序中。
@SpringBootApplication()
publicclassSpringBootSampleApplication {
publicstaticvoidmain(String[] args) {
SpringApplication application =newSpringApplication(SpringBootSampleApplication.class); application.setBannerMode(Banner.Mode.OFF);
application.addListeners(newMyAppListener());
application.run(args);
}
}
三,kafka客户端
实现如下:
maven 依赖
org.apache.kafka
kafka-clients
0.9.0.1
领取专属 10元无门槛券
私享最新 技术干货