【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>

相关推荐
rannn_1118 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
qq_124987075312 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
短剑重铸之日18 分钟前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
若鱼191940 分钟前
SpringBoot4.0新特性-Observability让生产环境更易于观测
java·spring
倒流时光三十年43 分钟前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
觉醒大王1 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
努力学编程呀(๑•ี_เ•ี๑)1 小时前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
码农小卡拉1 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
向上的车轮1 小时前
为什么.NET(C#)转 Java 开发时常常在“吐槽”Java:checked exception
java·c#·.net
Dragon Wu1 小时前
Spring Security Oauth2.1 授权码模式实现前后端分离的方案
java·spring boot·后端·spring cloud·springboot·springcloud