【Day14&15】Bean管理、SpringBoot 原理、总结、Maven 高级

0 SpringBoot 配置优先级

从上到下

虽然 springboot 支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置

(yml是主流)

1 Bean管理

1.1 从 IOC 容器中获取 Bean

1.2 Bean 作品域

可以通过注解 **@Scope("prototype")**配置作用域

1.3 第三方 Bean

在启动类中(不建议),

这样,

2 Springboot 原理

Springboot 提供两个重要功能:

  • 起步依赖
  • 自动配置

2.1 起步依赖

springboot 只需要启动一个依赖,依靠 Maven 的 依赖传递,可以包括很多其他依赖

2.2 自动配置

当 spring 容器启动后,一些配置类、bean 对象就自动存入到了 IOC 容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作、

2.2.1 自动配置原理

或 springboot 原理

引入依赖,对应的 jar 包是如何将配置类、bean 对象加载到 Spring IOC容器中的

在 pom.xml 文件里面引入第三方依赖

但是启动类无法扫描到第三方的类

方案一:扩大扫描范围

但是太繁琐,不使用这种方案

也不行

最终方案

在启动类直接加上这个注解

2.3 自动配置源码(待添加)

3 总结

Web后端开发:三层架构

前端 -Controller层-Service层-Dao层-MySL

Controller层(控制器层)负责接收请求,相应数据

Service层(业务层)负责业务的逻辑处理

Dao(数据访问层,持久层)处理数据访问,完成数据的增删改查操作

前端发来求,到 Controller 层,不处理逻辑,直接调用Service层,Service再调用Dao层完成数据访问操作

如果在执行具体的业务处理之前,需要完成一些通用的业务处理,比如统一的登录校验、统一的字符编码等,需要在Controller层前使用JavaWeb三大组件之一的Filter过滤器或Spring的Interceptor拦截器

为了实现三层架构层与层之间的解耦,Spring 第一大核心IOC控制反转与DI依赖注入

IOC:将对象创建的控制权由应用程序自身交给外部容器,即IOC容器(或Spring容器),声明为容器中的Bean对象

DI:容器为程序提供运行时需要的资源

AOP

事务管理

全局异常处理器

传统会话技术Cookie、Session

新的会话跟踪技术JWT

阿里云OSS对象存储服务

Mybatis持久层框架,操作数据库

SSM(SpringMVC,Spring framework,Mybatis)繁琐

现在使用SpringBoot进行开发

4 Maven 高级(待添加)

4.1 分模块设计

抽取完,需要在主文件夹里面pom引入被抽取出去的依赖

4.2 继承与聚合

继承描述的是两个工程间的关系,与 java 中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承

重复引入了一个依赖

继续抽取

实现

<parent>...</parent>

相关推荐
小宋102111 小时前
OpenTelemetry GenAI可观测性实战:串起模型、工具、Token与错误
java·人工智能·算法·贪心算法
m0_5873830011 小时前
工业场景设备维修维护实战技巧 全流程标准化落地与常见问题排查指南
java·spring·小程序·架构·需求分析
郑州光合科技余经理12 小时前
本地生活平台搭建:跨业态用户标识怎么贯通
java·开发语言·前端·后端·uni-app·php·ai编程
木头科技12 小时前
【AI 工程化第八篇】Spring AI 多模型路由实战:DeepSeek、通义、Kimi、OpenAI 如何统一接入和自动切换
java·人工智能·spring
深盾科技_Virbox12 小时前
云端与本地并行交付,软件许可管理如何实现统一运营?
java·大数据·开发语言·安全
thefool11226612 小时前
多线程 3
java
CoderYanger12 小时前
A.每日一题:856. 括号的分数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
马剑威(威哥爱编程)12 小时前
【AI全栈后端12-11】Spring Boot 把 AI 接口真正上线扛量:限流 / 降级 / 可观测
人工智能·spring boot·后端
liangbo712 小时前
01-Java 集合框架全景:从 Collection 到 Map 一张关系网理清
java
xuxigifxfh12 小时前
HJ15 求int型正整数在内存中存储时1的个数
java·开发语言·华为机考