zoukankan      html  css  js  c++  java
  • SpringInAction第一章笔记

    对应练习于 https://github.com/AganRun/SpringInAction

    第一章 Spring起步

    1.1 什么是Spring

    Spring的核心势提供了一个容器(container),通常称为Spring应用上下文(Spring application context),
    他们会创建和管理应用组件。
    这些组件也可以成为bean,会在Spring应用上下文中装配在一起,从而
    形成一个完整的应用程序。

    把bean装配在一起是通过依赖注入(dependency injection, DI)
    组件不会创建和管理,它依赖的组件的生命周期,使用依赖注入,大家共同依赖于单独的实体(容器)来创建和维护组件。

    @Configuration注解会告诉Spring这是一个配置类,会为Spring上下文提供bean。

    自动配置起源于自动装配(Autowiring)组件扫描(component scanning)

    • 借助组件扫描,Spring可以发现路径下的组件,并创建成上下文中的bean
    • 借助自动装配,Spring可以自动为组件注入他们依赖的bean

    1.3.1 处理web请求

    SpringMVC的核心是控制器(controller)的概念。
    控制器是处理请求并以某种方式进行消息响应的类。

    1.3.3 测试控制器

    @WebMvcTest注解。这是Spring Boot 提供的特殊类注解。
    它会让这个测试在Spring MVC的上下文中执行。
    尽管我们可以启动整个服务来测试,但是对于某些场景,只要仿造MVC的运行场景就可以。
    理解:只启动被测试的类注入到容器,然后通过MOCK只向被测试的路径发送请求。

    1.3.5 了解Spring Boot DevTools

    Spring向开发者提供的工具。例如,代码修改应用自动重启。

    当DevTools运行时,程序被加载到JVM的两个类加载器中。
    一个类加载器会加载你的代码,这部分内容可能常变。另一个加载器会加载依赖的库

    当探测到变更,DevTools会重新加载包含项目代码的类加载器,重启Spring上下文,这个过程中,
    另一个类加载器和JVM不动,减少应用启动的时间。

    这个策略的一个不足是,无法反应依赖项的变化。因为依赖项的类加载器不会重启。

    1.5 小结

    • Spring旨在简化开发人员面临的挑战。例如创建web程序,访问数据库
    • Spring Boot 建立在Spring之上。简化依赖管理、自动配置、运行时洞察,使Spring更佳易用
    • Spring应用上下文中,组件(bean)既可以使用JAVA或XML显示声明,也可以扫描发现,还可以Spring Boot自动配置。
  • 相关阅读:
    el-cascader回显问题
    nuxt + ueditor国际化
    nuxt + element + i18n 国际化element(我用的i18n@8.x版本)
    CDH| 组件的使用-Flume| Kafka| Oozie基于Hue的任务调度
    CDH| Hive| Hue| Sqoop| Impala等组件安装部署
    CDH| 组件的安装-HDFS的配置 | Flume| Kafka|
    Flink| 实时需要分析
    Flink| 状态一致性
    Flink| 容错机制
    Flink| 第一个窗口触发时间
  • 原文地址:https://www.cnblogs.com/AganRun/p/13125940.html
Copyright © 2011-2022 走看看