SpringBoot(依赖管理和自动配置)

这篇具有很好参考价值的文章主要介绍了SpringBoot(依赖管理和自动配置)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.基本介绍

1.springboot是什么?

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.快速入门
1.需求分析

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.环境配置
1.确认开发环境

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.创建一个maven项目

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.依赖配置 pom.xml
  <!--导入springboot父工程-->
  <parent>
    <artifactId>spring-boot-starter-parent</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>2.5.3</version>
  </parent>
  <dependencies>
    <!--配置maven项目场景启动器,自动导入和web相关的包-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  </dependencies>

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

4.文件目录

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

5.MainApp.java (启动类,常规配置)
package com.sun.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author 孙显圣
 * @version 1.0
 */
//表示是一个springboot项目
@SpringBootApplication
public class MainApp {
    public static void main(String[] args) {
        //启动springboot
        SpringApplication.run(MainApp.class, args);
    }
}

6.HelloController.java (测试Controller)
package com.sun.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author 孙显圣
 * @version 1.0
 */
@Controller //仍然是spring注解
public class HelloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "hello, springboot";
    }
}

7.运行启动类

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

8.浏览器向Conroller发送请求

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.快速入门小结
1.SpringBoot跟SSM的关系

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.pom.xml依赖关系图

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.Sping,SpringMVC,SpringBoot的关系

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

4.约定优于配置

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.依赖管理和自动配置

1.版本仲裁
1.什么是依赖管理?

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.查看SpringBoot父项目的默认依赖版本
1.pom.xml 找到springboot父工程

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.找到父工程的依赖

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.所有依赖的默认版本

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.自己指定依赖版本
1.方式一:在pom.xml中指定版本

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.方式二:在pom.xml使用 properties标签指定 version

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.starter场景启动器
1.基本介绍

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.依赖树

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.SpringBoot自动配置核心依赖

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

4.官方启动器(spring-boot开头)

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

5.第三方启动器

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.自动配置
1.基本介绍

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.获取ioc容器,查看SpringBoot自动配置的bean

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.SpringBoot默认扫描包

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

4.修改默认扫描包
1.需求分析

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.修改启动类注解,增加要扫描的包

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.启动测试

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

5.修改默认配置 resources\application.properties
1.基本介绍

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.创建一个resources\application.properties文件

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.根据SpringBoot的配置大全找到对应的配置并修改

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

4.关于application.properties配置文件的解释
  • 一个配置对应一个类的属性使用alt + b可以查找到对应的配置类
  • 对应的配置类会被注入到ioc容器中
5.自定义配置

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

6.SpringBoot常用配置一览
#端口号
server.port=10000
#应用的上下文路径(项目路径)
server.servlet.context-path=/allModel
#指定 POJO 扫描包来让 mybatis 自动扫描到自定义的 POJO
mybatis.type-aliases-package=com.cxs.allmodel.model
#指定 mapper.xml 的路径
#(application 上配置了@MapperScan(扫面 mapper 类的路径)和 pom.xml 中放行了 mapper.xml 后,
# 配 置 mapper-locations 没 有 意 义 。 如 果 mapper 类 和 mapper.xml 不 在 同 一 个 路 径 下 时 ,
mapper-locations 就有用了)
mybatis.mapper-locations=classpath:com/cxs/allmodel/mapper
#session 失效时间(单位 s)
spring.session.timeout=18000
#数据库连接配置
#mysql 数据库 url
mysql.one.jdbc-url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai&useSSL=false
#mysql 数据库用户名
mysql.one.username=
#数据库密码
mysql.one.password=
#线程池允许的最大连接数
mysql.one.maximum-pool-size=15
#日志打印:日志级别 trace<debug<info<warn<error<fatal 默认级别为 info,即默认打印 info 及其以
上级别的日志
#logging.level 设置日志级别,后面跟生效的区域,比如 root 表示整个项目,也可以设置为某个包下,
也可以具体到某个类名(日志级别的值不区分大小写)
logging.level.com.cxs.allmodel.=debug
logging.level.com.cxs.allmodel.mapper=debug
logging.level.org.springframework.web=info
logging.level.org.springframework.transaction=info
logging.level.org.apache.ibatis=info
logging.level.org.mybatis=info
logging.level.com.github.pagehelper = info
logging.level.root=info
#日志输出路径
logging.file=/tmp/api/allmodel.log
#配置 pagehelper 分页插件
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
#jackson 时间格式化
spring.jackson.serialization.fail-on-empty-beans=false
#指定日期格式,比如 yyyy-MM-dd HH:mm:ss,或者具体的格式化类的全限定名
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#指定日期格式化时区,比如 America/Los_Angeles 或者 GMT+10
spring.jackson.time-zone=GMT+8
#设置统一字符集
spring.http.encoding.charset=utf8
#redis 连接配置
# redis 所在主机 ip 地址
spring.redis.host=
#redis 服务器密码
spring.redis.password=
#redis 服务器端口号
spring.redis.port=
#redis 数据库的索引编号(0 到 15)
spring.redis.database=14
## 连接池的最大活动连接数量,使用负值无限制
#spring.redis.pool.max-active=8
#
## 连接池的最大空闲连接数量,使用负值表示无限数量的空闲连接
#spring.redis.pool.max-idle=8
#
## 连接池最大阻塞等待时间,使用负值表示没有限制
#spring.redis.pool.max-wait=-1ms
#
## 最小空闲连接数量,使用正值才有效果
#spring.redis.pool.min-idle=0
#
## 是否启用 SSL 连接. ##spring.redis.ssl=false
#
## 连接超时,毫秒为单位
#spring.redis.timeout= 18000ms
#
## 集群模式下,集群最大转发的数量
#spring.redis.cluster.max-redirects=
#
## 集群模式下,逗号分隔的键值对(主机:端口)形式的服务器列表
#spring.redis.cluster.nodes=
#
## 哨兵模式下,Redis 主服务器地址
#spring.redis.sentinel.master=
#
## 哨兵模式下,逗号分隔的键值对(主机:端口)形式的服务器列表
#spring.redis.sentinel.nodes= 127.0.0.1:5050,127.0.0.1:506
7.解读SpringBoot是从哪里读取的配置文件
ctrl + n 进入ConfigFileApplicationListener

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

8.按需加载原则
1.基本介绍

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

2.autoconfigure包管理着所有的starter

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

9.关于xxxAutoConfiguration,xxxProperties,application.properties的关系
1.简要介绍
  • xxxProperties这个单例bean的属性就是配置,读取application.properties来修改默认的配置
  • xxxAutoConfiguration这个单例bean的属性中有xxxProperties,通过依赖注入获取到xxxProperties的bean对象从而实现自动装配
2.查看源码

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理

3.debug展示ioc容器

springboot自动配置原理,SpringBoot学习日记,spring boot,java,后端,自动配置原理文章来源地址https://www.toymoban.com/news/detail-840404.html

到了这里,关于SpringBoot(依赖管理和自动配置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot启动原理和自动配置原理

    关于 springboot 启动流程和配置原理 很久就写了,不过没有详细补充 ,现在补充 —— 2023-08-05 BootstrapRegistryInitializer 是一个函数是接口 org.springframework.boot.BootstrapRegistry 接口 getSpringFactoriesInstances 加载工厂中组件实现方式 org.springframework.core.io.support.SpringFactoriesLoader#loadSpringFacto

    2023年04月25日
    浏览(45)
  • SpringBoot自动配置原理

    springboot是基于spring的新型的轻量级框架,最厉害的地方当属**自动配置。**那我们就可以根据启动流程和相关原理来看看,如何实现传奇的自动配置 从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringApplication.run)最为耀眼,所以要揭开SpringBoot的神秘面纱

    2024年01月21日
    浏览(40)
  • SpringBoot自动配置的原理

    以WebMvcAutoConfiguration自动配置的原理为例,SpringBoot内部对大量的第三方库或Spring内部库进行了默认配置,这些配置是否生效,取决于我们是否引入了对应库所需的依赖,如果有那么默认配置就会生效。如果引入springboot-starter-web那么对应的web配置就会自动配置。那么是如何自动

    2024年02月09日
    浏览(32)
  • SpringBoot 自动配置原理

    springboot是基于spring的新型的轻量级框架,最厉害的地方当属**自动配置。**那我们就可以根据启动流程和相关原理来看看,如何实现传奇的自动配置 从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringApplication.run)最为耀眼,所以要揭开SpringBoot的神秘面纱

    2024年01月20日
    浏览(39)
  • SpringBoot原理-自动配置-原理分析-源码跟踪

    SpringBootApplication 该注解标识在SpringBoot项目的启动类上,是SpringBoot中 最为重要 的注解,该注解由三个部分组成。 @SpringBootConfiguration:该注解与@Configuration注解作用一样,用来声明当前类为一个配置类 @ComponentScan:组件扫描,默认扫描当前启动类所在包及其子包 @EnableAutoConf

    2024年02月09日
    浏览(41)
  • SpringBoot3自动配置原理

    遵循约定大约配置的原则,在boot程序启动后,起步依赖中的一些bean对象会自动注入到ioc容器 看一下我们前面写的代码有没有达到自动配置的效果呢? 没有自动,我们写了配置类,写了@Import注解,所以并没有达到自动配置的效果。那怎么办呢?接下来我们通过翻看源码的方

    2024年01月22日
    浏览(35)
  • springboot 原理分析之自动配置

             Condition 是在 Spring 4.0 增加的条件判断功能,通过这个可以功能可以实现选择性的创建 Bean 操作。比如说,只有满足某一个条件才能创建这个 Bean ,否则就不创建。         SpringBoot 是如何知道要创建哪个 Bean 的?比如 SpringBoot 是如何知道要创建  RedisTemplate 

    2024年01月19日
    浏览(34)
  • SpringBoot自动配置原理简单分析

    说明:在SpringBoot项目中,我们添加了许许多多的注解,这些注解提高了开发效率。这是因为SpringBoot在项目启动时,帮我们自动装配了大量的Bean对象,可以通过分析源码查看自动装配的大致原理。 进入到启动类中的@SpringBootApplication注解中,该注解里面有七个注解,上面四个

    2024年02月09日
    浏览(40)
  • 第九章 SpringBoot 自动配置原理 入门

    @SpringBootApplication -- @SpringBootConfiguration -- @EnableAutoConfiguration -- @ComponentScan 1.1 @SpringBootConfiguration @Configuration。代表当前是一个配置类 1.2 @ComponentScan 指定扫描哪些,Spring注解; 1.3 @EnableAutoConfiguration @EnableAutoConfiguration -- @AutoConfigurationPackage -- @Import(AutoConfigurationImportSelector.clas

    2024年02月13日
    浏览(39)
  • 第05天 SpringBoot自动配置原理

    ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:每天一个知识点 ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot自动配置原理 🖥️个人小站 :个人博客,欢迎大家访问 📚个人知识库: 知识库

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包