SpringBoot————基础知识

基础知识:

官网地址:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/

  1. Spring与SpringBoot

    1. Spring生态圈

      1. Web开发
      2. 数据访问
      3. 安全控制
      4. 分布式
      5. 消息服务
      6. 移动开发
      7. 批处理
    2. SpringBoot :整合Spring的整合生态圈。
      1. 优点:
        1. 创建独立的Spring应用
        2. 内嵌web服务器
        3. 自动Starter依赖,简化构建配置
        4. 提供生产级别的监控、健康检查及外部化配置
        5. 无代码生成、无须编写XML
  2. 微服务

    1. 微服务是一种架构风格
    2. 一个应用拆分为一组小型服务
    3. 每个服务运行在自己的进程内,也就是可以独立部署
    4. 服务之间使用轻量级的HTTP交互
    5. 服务围绕业务功能拆分
    6. 可以由全自动部署机制独立部署
    7. 去中心化,服务自治,服务可以使用不同的语言、不同的存储技术
  3. 分布式

    1. 分布式的困难
      1. 远程调用
      2. 服务发现
      3. 负载均衡
      4. 服务容错
      5. 配置管理
      6. 服务监控
      7. 链路追踪
      8. 日志管理
      9. ……
  4. 学习 如果学习官网文档

    1. 官方文档结构
      1. https://spring.io/  ——》  Project ——》Spring Boot ——》LEARN——》CURRENT后面的Refenrence Doc。
  5. 依赖管理

    1. 父项目依赖管理
        <parent>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-parent</artifactId>
              <version>2.4.1</version>
        </parent>
      1. 在parent中说明好了版本号,子项目就不需要版本号了。
    2. starter场景启动器
      1. 见到很多spring-boot-starter-*,*就表示某种场景
      2. 只要引入starter,这个场景的所有常规需要的依赖我们都自动引入
      3. *-spring-boot-starter,一般就是第三方的starter
      4. 所有场景启动器最底层的依赖就是  spring-boot-starter
    3. 开发导入
    4. 无需关注版本号,自动版本仲裁
    5. 可以修改版本号
  6. 自动配置

    1. 自动配好tomcat
      1. 引入tomcat依赖
      2. 配置tomcat
    2. 自动配置spring-mvc
      1. 引入spring-mvc全套组件
      2. 自动配置好springmvc常用组件
    3. 自动配置好web的常见功能,如字符编码问题
      1. 配置好所有web开发的常见场景
    4. 默认的包结构
      1. 主程序所有的包及其下面的所有子包都会被扫描进来
      2. 无须配置包扫描
      3. 如果想要改变扫描路径 @SpringBootApplication(scanBasePackages="com.sun")
      4. ComponentScan指定需要扫描的路径
    5. 各种配置拥有默认值
      1. 默认配置最终都是映射到MultipartProperties
      2. 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象
    6. 按需加载所有自动配置项
      1. 所有的自动配置都在 spring-boot-autoconfigure这个包下面
  7. 容器功能
    1. 组件添加
      1. @Configuration(proxyBeanMenthods = false) 与@Bean
      2. @Bean、@Component、@Controller、@Service、@Repository
      3. @ComponentScan、@Import
      4. @Conditional
        1. 条件装配
    2. 原生配置文件引入
      1. @ImportResource     导入Spring的配置文件.xml,来进行生效
      2. 配置绑定
        1. @Componnet和@ConfigurationProperties(prefix="mycar"),如果放在类上面,那这个类中的属性值 如果与配置文件中的属性名一致就好,比如配置文件中是mycar.price,类中 的属性是 price,那就会自己配置绑定。
        2. 配置类中的写法
          @configuration
          @EnableConfigurationProperties(Car.class)
          public class Myconfig{
          
          }

          @EnableConfigurationProperties  开启Car这个组件的配置绑定功能,把这个car的组件自动注入到容器,同时需要在Car类上面写好@ConfigurationProperties(prefix="mycar")

    3. 自动配置原理入门 

      @SpringBootApplication 其实 等于 三个注解 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
      1. @SpringBootConfiguration
        1. 当前是一个配置类
      2. @EnableAutoConfiguration
        1. 给容器中导入一系列组件
        2. 将指定一个包下的所有组件导入进来
      3. 最佳实践

        1. 引入场景依赖

        2. 查看自动配置了哪些

          1. 配置中配置debug=true,启动时会在控制台打印出  一些哪些配置生效了,哪些没有生效

        3. 是否需要修改

          1. 参照文档修改配置项

            1. 文档中的application properties中就有所有的配置项目

            2. 自己分析,从底层源码中拿取对应的

          2. 自定义加入或者替换组件

            1. @Bean,@Component

          3. 自定义器 XXXCustomizer

      4. 定制化修改自动配置

      5. 按需开启自动配置项

      6. 引导加载自动配置类

    4. 开发小技巧

      1. LomBok  

        1. 引入依赖

        2. 安装插件

        3. 常用注解@Data、@Slf4j、构造器、@ToString、哈希code与equal

      2. maven依赖中有个 devtools

        热部署    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        
      3. Spring Initailizr(项目初始化向导)

         

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值