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一种数据序列化格式,优点:容易阅读;容易与脚本语言交互;以数据为核心,重数据轻格式。

相关推荐
rannn_1112 小时前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
张人玉2 小时前
VisionPro 定位与卡尺测量学习笔记
笔记·学习·计算机视觉·vsionprp
觉醒大王2 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
YCY^v^3 小时前
JeecgBoot 项目运行指南
java·学习
云小逸3 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
JustDI-CM4 小时前
AI学习笔记-提示词工程
人工智能·笔记·学习
悟纤4 小时前
学习与专注音乐流派 (Study & Focus Music):AI 音乐创作终极指南 | Suno高级篇 | 第33篇
大数据·人工智能·深度学习·学习·suno·suno api
爱写bug的野原新之助4 小时前
加密摘要算法MD5、SHA、HMAC:学习笔记
笔记·学习
ZH15455891314 小时前
Flutter for OpenHarmony Python学习助手实战:Web开发框架应用的实现
python·学习·flutter
百锦再4 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架