• 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

  • 相关阅读:
    设计模式七大原则之单一职责原则
    机器学习入门与进阶
    Django之路
    Python编程之路
    Python练习1
    Docker入门与进阶
    运维相关
    Node.js(一)
    位运算
    双指针算法
  • 原文地址:https://www.cnblogs.com/cheungchein/p/9883060.html
Copyright © 2020-2023  润新知