zoukankan      html  css  js  c++  java
  • Spring Boot 学习记录

    SpringBoot简化了Spring框架带来的大量XML配置以及复杂的依赖管理,让开发人员可以更加关注业务逻辑的开发。

    java的三种配置方式

    基于xml的配置

    基于注解的配置

    基于java的配置

    Spring boot推荐的配置方式:java配置+注解配置

    一、注解

    SpringBootApplication  :等价于以默认属性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan

      scanBasePackages  :扫描包数组

      exclude  :排除类

    @EnableAutoConfiguration:SpringBoot根据应用所声明的依赖来对Spring框架进行自动配置。

    @SpringBootConfiguration(内部为@Configuration):被标注的类等于在spring的XML配置文件中(applicationContext.xml),装配所有bean事务,提供了一个spring的上下文环境。

    @ComponentScan:组件扫描,可自动发现和装配Bean,默认扫描SpringApplication的run方法里的Booter.class所在的包路径下文件,所以最好将该启动类放到根包路径下。

    =======================

    @Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。

    @Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为在Spring应用程序上下文中的bean。

    =======================

    条件注解(@Conditional)

    ConditionalOnJava

    ConditionalOnJndi

    ConditionalOnWebApplication

    ConditionalOnNotWebApplication

    ConditionalOnExpression

    ConditionalOnClass  :表示对应的类在classpath目录下存在时

    ConditionalOnMisssingClass  :表示对应的类在classpath目录下找不到时

    ConditionalOnBean

    ConditionalOnMissingBean

    ConditionalOnProperty

    ConditionalOnResource

    ConditionalOnSingleCandidate

    自动配置

    AutoConfigurationPackage

    AutoConfigureBefore

    AutoConfigureAfter

    AutoConfigureOrder

    二、探测条件

    OnClassCondition  :用于表示匹配的类型,是最普遍的浏览探测条件

    OnBeanCondition  :

    OnPropertyCondition  :

    待续。。。

    三、环境配置 - profiles

    1、spring.profiles.active:dev  表示的是激活那个环境的配置

    2、每个环境配置项是根据 '---' 这个分隔符隔离开的(对,你没看错,刚开始我也觉得不可思议)

    3、在每个环境的配置项中可以自定义配置(不一定都是spring开头的配置)

    4、分文件配置

    application-dev.yml

    application-prd.yml

    spring boot的yml文件用profiles实现不同环境的配置

    springboot 读取 yml 配置的几种方式

    四、Spring Boot 运行的原理

    Spring Boot 自动配置的原理 基于 Spring4.x 提供的 基于条件来配置Bean的能力。即基于条件注解(@ConditionalOn...)来实现自动装配。

    核心:@EnableAutoConfiguration 注解中 @Import 的 AutoConfigurationImportSelector 类。

         借助@Import的支持,收集和注册特定场景相关的bean定义,将所有符合自动配置条件的bean定义加载到IoC容器。

              借助于Spring框架原有的一个工具类:SpringFactoriesLoader的支持。

              SpringFactoriesLoader属于Spring框架私有的一种扩展方案,其主要功能就是从指定的配置文件META-INF/spring.factories加载配置。

    过程:@EnableAutoConfiguration自动配置过程:SpringFactoriesLoader 从 classpath中搜寻所有的META-INF/spring.factories配置文件,

        并将其中org.springframework.boot.autoconfigure.EnableutoConfiguration对应的配置项通过反射(Java Refletion)实例化为对应的标注了

        @Configuration的JavaConfig形式的IoC容器配置类,然后汇总为一个并加载到IoC容器。

    配置:位于spring-boot-autoconfigure 包下 的 META-INF/spring.factories

    五、定时任务

    SpringBoot定时任务@EnableScheduling

    六、Springboot MongoTemplate

    springboot mongodb配置解析

    MongoTemplate进行增删改查

    mongoTemplate

    手把手教springboot访问/操作mongodb(查询、插入、删除)

    SpringBoot+mongoDB实现id自增

    MongoDB批量更新和批量插入的方式

    Spring Boot MongoDBTemplate 增删改查

    基于SpringBoot 框架MongoDB 一些简单的查询方式

    mongodb链接

    mongodb://username:password@host:port/db_name

    参考资料

    Springboot日志

    SpringBoot 日志配置

    SpringBoot生成日志文件

    Spring Boot系列——日志配置

    SpringBoot默认日志框架配置

    springboot(十)使用LogBack作为日志组件

    Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)

    spring注解之@Import注解的三种使用方式

    spring boot启动原理

  • 相关阅读:
    mysql常用命令
    CSS样式
    定位
    background
    文本属性和字体属性
    超链接导航案例
    margin塌陷
    浮动
    GIT 修改提交地址
    VUE ElementUI 表格多选框实现单选
  • 原文地址:https://www.cnblogs.com/wangwangfei/p/6201592.html
Copyright © 2011-2022 走看看