• SpringBoot核心


    1.基本配置

    1.1入口类和@SrpingBootApplication

    SpringBoot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法就是一个标准的java应用的入口方法

    。在main方法中使用SpringApplication.run,启动springboot项目。

    其中@EnablieAutoConfiguration让springboot根据类路径中的jar包依赖为当前项目进行自动配置。例如,添加了spring-boot-starter

    -web依赖,会自动添加tomcat和springMVC的依赖,那么springboot会对Tomcat和springMVC进行自动配置。又如,添加了

    srping-boot-starter-data-jpa依赖,springboot会自动进行JPA的相关配置。

    Springboot会自动扫描@SpringBootApplication所在类的同级包以及下级包里的Bean,建议入口类位置在groupId+arctifactID组合的包名i下。

     

    1.2关闭特定的自动配置

     

    关闭特定的自动配置应该使用@srpingBootApplication注解的exclude参数。

     

     1.3关闭banner

    将main里的内容修改为

     

     1.4SpringBoot的配置文件

    SpringBoot使用一个全局的配置文件application.properties。放置在src/main/resource目录或者类路径的/config下。

     SpringBoot的全局配置文件的作用是对一些默认配置的配置进行一些修改。

    将Tomcat的默认端口号8080修改为9090,并将默认访问路径“/”修改为“/helloboot”

     

     1.5starter pom

    springBoot为我们提供了简化企业级开发绝大数场景的start pom,只要使用了应用场景所需要的start pom,相关的技术配置就会消除

    就可以通过Springboot得到自动配置的Bean。

    官方 starter pom

     

     

     还有一些第三方的start pom。

     

    1.6使用xml配置

    springboot提倡零配置,即无xml配置,但在实际项目中,可能有一些特殊要求必须使用xml配置。可以通过Spring提供的@ImportResource

    注解来加载xml配置。

     

     2.外部配置

     2.1命令行参数配置

    springboot可以是基于jar包运行的,打成jar包的程序可以直接通过如下命令运行
    
    java -jar xx.jar
    
    可以通过以下命令修改Tomcat端口号:
    
    java -jar xx.jar --server.port=9090

     

     2.2常用的属性配置

    (1)application.properties增加属性

     

     2.3类型安全的配置(基于properties)

    上列中使用@value注入每个配置在实际项目中会显得格外麻烦,因为我们的配置通常会是很多个

    springboot还提供了基于类型安全的配置通过@configurationProperties将properties属性和一个Bean及其属性关联。

     

     

     

     

     

    3.日志配置

     springboot支持java Util Logging,log4j,log4j2和logback作为日志框架。无论使用哪种日志框架,springBoot已经为当前使用日志框架

    控制台输出和文件输出做好了配置。

    默认情况下,springboot使用logback作为日志框架。

    配置的日志级别为:

     

     4.Profile配置

     

     

     

     目录结构

     

     

     

    5. Springboot的运行原理

     springboot关于自动配置的源码在spring-boot-autoconfigure中

     

    可以在这里查看源码

     可以通过以下方式来产看当前项目汇总已启用或未启用的自动配置的报告。

    在application.properies中设置属性:

    debug=true

    此时启动时可以在控制台中输出:

    已启用的自动配置为:

    5.1运行原理

     关于springboot的运行原理,我们还是回归到@srpingBootApplication注解上来,这个注解是一个组合注解

    它的核心功能是@EnableAutoConfiguration注解提供的。

      下面我们来看下@EnableAutoConfiguration注解的源码:

     这里的关键功能是@import注解导入的配置功能,EnableAutoConfiggurationImportSelect使用

    SpringFactoriesLoader。loadFactoryNames方法来扫描具有META-INF/spring.factories文件的jar

    包,而我们的spring-boot-autoconfigure-1.3.0.xjar里就一个spring.factories文件。在此文件里声明了有哪些

    自动配置。

     

    5.2核心注解

    打开上面人一个一个AutoConfiguration文件,一般都有下面的条件注解

     

     

  • 相关阅读:
    80后
    搞了 2 周性能优化,QPS 终于翻倍了!
    Spring Boot 实现各种参数校验,写得太好了,建议收藏!
    为什么编程语言社区没那么多初创公司呢?
    利用 Fastjson 注入 Spring 内存马,太秀了~!
    44 个神仙注释,太有才了……
    MySQL 中的 INSERT 是怎么加锁的?
    接了个变态需求:生成 Excel + PDF 导出,用 Java 怎么实现?
    重磅!Spring Boot 2.6 正式发布,一大波新特性,看完我彻底躺平了。。
    安装php xdebug扩展
  • 原文地址:https://www.cnblogs.com/duan2/p/9220338.html
Copyright © 2020-2023  润新知