Spring Boot官方文档笔记--PartIV: Spring Boot特性

23. SpringApplication特性

  • Banner
  • SpringApplicationBuilder
  • Events and Listeners
  • Web Environment
  • ApplicationArguments: 获取SpringApplication.run(...)
  • ApplicationRunner and CommandLineRunner
  • ExitCodeGenerator 退出码
  • Admin Features: spring.application.admin.enabled配置

24. 外部配置

重载顺序:

    devtools

    --> @TestPropertySource

    --> @SpringBootTest#properties

    --> 命令行参数

    --> SPRING_APPLICATION_JSON

    --> ServletConfig初始化参数 

    --> ServletContext初始化参数

    --> JNDI属性,来自:java:comp/env

    --> Java系统属性 System.getPropertiies()

    --> 系统环境变量

    --> RandomValuePropertySource

    --> 打好的jar包之外的应用属性,.properties或YAML

    --> 打好的jar内部的应用属性,.properties或YAML

    --> ...

YAML文件:缺点是无法使用@PropertySource指定配置文件。

@ConfigurationProperteis VS @Value

25. 多配置

26. Logging

由于日志初始化在ApplicationContext创建之前,所以在@Configuration文件中通过@PropertySources控制日志是不可能的,唯一的方法是通过系统配置。

Logback  log4j2  Java Util logging

27. JSON

Jackson

Gson

JSON-B

28. 开发Web应用 

静态资源的处理

29. 安全性

30. 使用关系型数据库

默认数据源的选择:HikariCP(spring-boot-starter-jdbc或spring-boot-starter-data-jpa中包含了该项),Tomcat Pooling DataSource, Commons DBCP2,相关配置项则为 spring.datasource.type

JdbcTemplate VS NamedParmeterJdbcTemplate

spring-boot-starter-jpa包中包含了:Hibernate, Spring Data JPA, Spring ORMs

31. 使用NOSQL

spring-boot-starter-data-redis:默认使用Lettuce;如果能够找到commons-pool2,将会获得一个池化的连接工厂。

Lettuce VS Jedis

32. 缓存

  • Generic
  • JCache (JSR-107)(EhCache 3, Hazelcast, Infinispan, etc)
  • EhCache 2.x
  • Hazelcast
  • Infinispan
  • Couchbase
  • Redis
  • Caffeine
  • Guava
  • Simple:没有添加library的默认配置,则使用ConcurrentHashMap。
  • None:禁用,设置spring.cache.type=none。

33. 消息

JMS:ActiveMQ支持,Artemis支持,HornetQ支持  JmsTemplate

AMQP:RabbitMQ支持  AmqpTemplate

KafkaL:KafkaTemplate

34. RestTemplate

RestTemplate定制化

35. WebClient

36. 校验

@Validation

37. 发送邮件

JavaMailSender    相关jar: spring-boot-starter-mail

38. 使用JTA的分布式事务

JtaTransactionManager

自动配置的JMS,DataSource和JPA beans支持XA资源。

spring.jta.enabled可设置JTA的自动配置。

Atomikos事务管理器

Bitronix事务管理器

39. Hazelcast

40. Quartz Scheduler

41.  Spring Integration

42. Spring Session

43. Monitoring and Management over JMX

 

 

 

posted @ 2018-10-31 14:46  清水捞蟹  阅读(251)  评论(0编辑  收藏  举报