Spring Boot应用程序有哪些功能?

Spring Boot应用功能有:

1. Spring boot自动执行许多配置。所以开发速度更快。

2. Spring Boot默认端口8080,支持嵌入式Tomcat,Jetty和Undertow服务器的

3. 使用spring boot我们可以将配置放在外部,可以在不同的环境中使用相同的应用程序代码,可以使用属性文件YAML文件,环境变量和命令行参数来外部化配置:
比如application-leader.properties:


server.port=8080

# leader node channels
spring.cloud.stream.bindings.leaderRequests.destination=${as}-requests
spring.cloud.stream.bindings.leaderReplies.destination=${as}-replies
spring.cloud.stream.bindings.leaderReplies.group=${as}-replies
spring.cloud.stream.bindings.leaderReplies.durableSubscription=true

application-worker.properties配置:

server.port=0

# worker node channels
spring.cloud.stream.bindings.workerReplies.destination=${as}-replies
spring.cloud.stream.bindings.workerRequests.destination=${as}-requests
spring.cloud.stream.bindings.workerRequests.group=${as}-requests
spring.cloud.stream.bindings.workerRequests.durableSubscription=true


代码中如果用worker配置:

@Configuration
@Profile(Profiles.WORKER)
class WorkerConfiguration {

4. Spring Boot使用Commons Logging进行所有内部日志记录,但我们也可以实现Logging。默认情况下使用Logback。

5. Spring Boot为Redis,MongoDB,Neo4j,Elasticsearch,Solr和Cassandra NoSQL技术提供自动配置。

6. Spring boot 自动配置了JMS必要的基础结构,方便发送和接收消息。


public interface LeaderChannels {

@Output
MessageChannel leaderRequests();

@Input
MessageChannel leaderReplies();
}

代码向这两个消息队列之一发送消息:

@Configuration
@Profile(Profiles.LEADER)
class LeaderConfiguration {

// <1>
@Bean
ActivityBehavior gateway(LeaderChannels channels) {
return new ReceiveTaskActivityBehavior() {

@Override
public void execute(ActivityExecution execution) throws Exception {

Message<?> executionMessage = MessageBuilder
.withPayload(execution.getId())
.build();

channels.leaderRequests().send(executionMessage);
}
};
}

7. Spring引导提供@EnableAutoConfiguration,能让spring boot根据我们添加的JAR依赖项配置spring应用程序。

8. Spring提供@SpringBootApplication注释,则的组合@Configuration,@EnableAutoConfiguration和@ComponentScan注解。 @SpringBootApplication=@Configuration + @EnableAutoConfiguration + @ComponentScan

9. Spring boot使用SpringApplication.run()java main方法来引导应用程序。

10. Spring Boot提供了一个@SpringBootTest测试Spring启动应用程序的注释。