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

18-08-22 banq
         

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
<p>

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

<p>

代码中如果用worker配置:

@Configuration
@Profile(Profiles.WORKER)
class WorkerConfiguration {
<p>

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();
}
<p>

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

@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);
			}
		};
	}
<p>

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启动应用程序的注释。