• 《SpringBoot In Action》 笔记


    SpringBoot 实战

    概念:

    • 简单Java对象 POJO(Plain Old Java Object)
    • 项目对象模型 POM(Project Object Model)

    第一章:入门

    • 核心功能
      1. 自动配置:针对常见的应用功能 提供相关的配置;消除了传统Spring程序中的样板配置
      2. 起步依赖(starter):根据依赖传递 把所需其他依赖引入项目;可通过库提供的功能 而非各个依赖的名称版本号来构建依赖;仅需在构建文件里指定这些功能,构建过程自己找出需要的依赖组合。不需要指定版本
        1. mvn dependency:tree 以依赖树的形式显示具体的依赖版本
        2. 若不想用起步依赖中传递的某个依赖 使用<exclusions><exclusion><groupId> xxx</> 来排除
    • 若要用某个依赖的最新版本,直接在pom中添加即可
    1. 命令行界面: Spring Boot CLI 支持在命令行里简单快速的用Groovy开发
    2. Actuator: 提供在运行时检视应用程序内部情况的能力,

    第二章:开发第一个应用程序

    • 启动引导类
      1. @SpringBootAppliacation 开启组件扫描 和 自动配置功能 相当于以下3个注解
        1. @Configuration 标明该类使用基于Java的Spring配置
        2. @ComponentScan 启用组件扫描,开启后控制器和其他组件才能倍发现并注册到Bean
    • @EnableAutoConfiguration:自动配置
    • 测试类
      1. @SpringApplicationConfiguration(classes=xxApplication.class) 从配置类中加载Spring应用程序上下文
    • 自定义条件类
      1. 可实现Condition接口 覆盖其matches ()方法,声明其他Bean时加上如下注解 @Conditional(JdbcTemplateCondition.class) ,就可以在条件成立时创建此Bean P52页
      2. SpringBoot 利用条件化配置 实现 自动配置

    第三章: 自定义配置

    • 覆盖自动配置: 编写一个显式配置,SpringBoot会发现显式配置 降低自动配置的优先级(实现方法为 先加载应用级配置 再考虑自动配置,自动配置中由@ConditionOnMissingBean(xx.class)这样的方法,可以检查当前是否有其他同类型的配置存在,若存在 则不自动配置)
    • 配置类从properties 文件加载配置
      1. 用@Component 和@ConfigurationProperties(“prefix”) 扫描带prefix的前缀属性
      2. 设置setter方法 获取properties文件中的配置
      3. 可以在某类上增加@Profile(“profile name”) ,代表激活该profile时才用该配置
    • 获得当前server运行的端口
      1. @Value(“${local.server.port}”) private int port;

    第四章:测试

    • 测试类要加的注解
      1. @RunWith(SpringJUnit4ClassRunner.class) 利用JUnit4集成测试
      2. @ContextConfigruation/ @SpringApplicationConfiguration
        1. 区别:前者未加载完整的SpringBoot,后最可以加载完整的SpringBoot,如应用程序上下文 日志 外部属性等

    第五章:Groovy 与 Spring Boot CLI

    第六章:Grails

    第七章:Actuator

    • 利用Actuator 可以了解SpringBoot运行时的内部情况
    • 需要添加pom依赖 spring-boot-starter-actuator
    • 发起GET请求就可以查看一些内部情况
      1. /beans 描述应用程序上下文里的全部Bean 以及他们的关系
      2. /autoconfig 记录自动配置过程中 哪些配置条件通过 哪些没有
      3. /env 可以看到所有可用属性
      4. /mappings 可以看控制器映射的端点
      5. /metrics 可以看到运行时数据 堆 垃圾回收器 线程池等等
      6. / trace 可以包括所有Web请求的详细信息
      7. /dump 查看线程快照
      8. /shutdown关闭程序 默认关闭 开启:shutdown.enable=true
  • 相关阅读:
    [BZOJ1492] [NOI2007]货币兑换Cash 斜率优化+cdq/平衡树维护凸包
    [BZOJ2638] 黑白染色
    [BZOJ2006] [NOI2010]超级钢琴 主席树+贪心+优先队列
    [BZOJ3698] XWW的难题 网络流
    [BZOJ2151] 种树 贪心
    js中的闭包理解一
    HTML5 input placeholder 颜色修改示例
    26 个 jQuery使用技巧
    JS原型与原型链(好文看三遍)
    文字和图片垂直居中
  • 原文地址:https://www.cnblogs.com/lancelee98/p/15336848.html
Copyright © 2020-2023  润新知