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

相关推荐
心中有国也有家7 小时前
AtomGit Flutter 鸿蒙客户端: ChangeNotifier 模式
学习·flutter·华为·harmonyos
取地址符8 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
恣逍信点9 小时前
主观是客观的聚焦
人工智能·学习·程序人生·生活·业界资讯·交友·哲学
打球她不香吗9 小时前
本周ALLegro学习内容的总结
学习·allegro
其实防守也摸鱼10 小时前
蓝队相关知识学习(1)---常用堡垒机和服务器
服务器·功能测试·学习·网络安全·网络攻击模型·攻防对抗·蓝队
冰可乐配11 小时前
fmpeg音频编码组件aac(Advanced Audio Coding (AAC) encoder)学习
学习·音视频·aac
憧憬成为java架构高手的小白11 小时前
MySQl学习
学习
三品吉他手会点灯12 小时前
嵌入式机器学习 - 学习笔记1.1.1 - 什么是机器学习?
c语言·人工智能·笔记·嵌入式硬件·学习·机器学习
程序猿小泓12 小时前
从 Claude Code 学 Agent Harness:一个前端工程师的 AI Agent 学习笔记
前端·人工智能·学习
minglie113 小时前
Axi4Full转SMMR突发读写和单次读写对比
学习