SSM框架学习

Spring

系统架构

IoC(Inversion of Control)控制反转:

使用对象时在程序中不要主动使用new产生对象,转换由外部提供对象。

Spring技术把IoC思想进行了实现,IoC容器把大量对象的创建、初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean。使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有依赖关系。

<bean id="" name="" class="" scope="" init-method="" destory-method=""> bean标签表示配置bean,id属性表示给bean起名字,name表示别名可以有多个,class属性表示给bean定义类型,scope有两个值singleton和prototype可以控制bean对象单例还是非单例,init-method和destory-method用来配置bean生命周期。

DI(Dependency Injection)依赖注入:

在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入。删除new 提供一个set方法,配置文件进行绑定。

<property name="" ref="">property标签表示配置当前bean的属性,name属性表示配置哪一个具体的属性,ref属性表示参照哪一个bean

①setter注入:简单类型(在bean中定义引用类型属性并提供可访问的set方法,配置中使用property标签value属性注入简单类型数据),引用类型(在bean中定义引用类型属性并提供可访问的set方法,配置中使用property标签ref属性注入引用类型对象) ②构造器注入:简单类型,引用类型。自己开发的模块推荐使用setter注入。

依赖自动装配(按类型装配,按名称装配,构造器):IoC根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配。 @Authwired解决引用类型注入@Qualifier指定注入的bean的id@Value注入简单类型@PropertySource注入外部文件

集合注入:

数据源对象管理:先把版本驱动加到Meaven的pom文件中,选择构造器注入

加载properties文件,开启context命名空间,修改四处

使用context空间加载properties文件

使用属性占位符value="${}"读取文件中的属性

BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载

ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载

ApplicationContext接口提供基础的bean操作相关方法,通过其他接口扩展其功能

创建容器:①使用绝对路径②加载类路径下的配置文件。

第三方bean,定义一个方法获得要管理的对象,添加@bean,表示当前方法的返回值是一个bean

@Configuration使用@Import()注解手动加入配置类到核心配置,该注解只能添加一次,多个数据加大括号

纯注解开发

Spring整合MyBatisPlus

MyBatisPlus中有哪些bean需要Spring去整合

在pom文件中增加spring-jdbc和mybatis-spring坐标,增加mybatis配置类,里面是扫描类型别名的包和映射的包。

整合Junit

@Runwith(SpringJUnit4ClassRunner.class)

@ContextConfiguration

AOP(Aspect Oriented Programming)

面向切片编程,在不改变原始代码的基础上进行代码增强。

连接点(JoinPoint)代表所有的方法

切入点(Pointcut)代表要追加功能的方法

通知(Advice)代表共性功能

通知类定义通知的那个类

切面(Aspect)描述切入点与通知的关系

①导AOP相关坐标②定义接口dao和实现类③定义通知类,制作通知④定义切入点,设置一个私有的无返回的方法进行

Spring事务

SpringMVC

完成表现层,也就是Web框架。

1.导入坐标springmvc和servlet

2.使用controller定义bean

返回json格式

3.springmvc配置类,加载刚才开发的bean

4.定义一个servlet容器启动的配置类,在里面加载spring的配置,设置哪些请求归属springmvc处理,加载spring容器配置

工作流程如下

SSM整合

Maven高级

私服仓库分类

SpringBoot

YAML一种数据序列化格式,优点:容易阅读;容易与脚本语言交互;以数据为核心,重数据轻格式。

相关推荐
好奇龙猫4 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
saoys4 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1235 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
唯情于酒6 小时前
Docker学习
学习·docker·容器
charlie1145141917 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
IT=>小脑虎8 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
#眼镜&8 小时前
嵌入式学习之路2
学习
码农小韩8 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风8 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习
wdfk_prog8 小时前
[Linux]学习笔记系列 -- [fs]seq_file
linux·笔记·学习