ssm学习笔记(尚硅谷) day1

article/2025/9/9 5:08:43

创建新项目

在这里插入图片描述

maven的聚合

1. 标记父类项目

在这里插入图片描述
标签<packaging>pom</packaging>表示将该项目标记为父类项目,必须添加。

以下是标签<packing>的常见取值
在这里插入图片描述
groupId在pom.xml中,可以从pom.xml直接修改。

2. 通过<modules>添加子项目。

在这里插入图片描述
在这里插入图片描述

导入第三方类

在类上面标注@Import(类名.class)可以导入第三方类,需要注意的是Bean是单实例对象,只写一次就导入进入了,多写并不会重复导入。
在这里插入图片描述

注册组件的各种注释

在这里插入图片描述

@Scope

在这里插入图片描述

@Conditional

在这里插入图片描述
在这里插入图片描述
例子:我创建了一个WindowsCondition对象,
在这里插入图片描述
在某个Bean上面使用@Conditonal注释,表示不是windows系统不能使用
在这里插入图片描述

@AutoWired

如果在UserController中不加@AutoWired注释
在这里插入图片描述
在这里插入图片描述
通过容器获取到的UserController里面的UserService是空的

在这里插入图片描述
添加之后不为空
在这里插入图片描述

可能会出现的问题
在这里插入图片描述
@Qualifier 可以精确指定要使用的组件名

@Resource

和@Autowired都可以自动注入
区别 @Resource具有更强的通用性,但不支持注入为空,@Autowired可以把参数required改为false

@Aware

在这里插入图片描述
说人话就是可以调用底层的东西放到代码上。箭头指的是底层的相关参数,可以通过注入放到内部定义的组件中。
在这里插入图片描述

@Value

如果想在以下属性类的属性注入的时候,用@Autowired无法注入,就需要用到Value了
在这里插入图片描述
在这里插入图片描述
以下是取不到的默认值,中间冒号隔开
在这里插入图片描述

@PropertySource

引用properties来给参数赋值
需要注意的是以下写法不要随意添加空格(应为cat.age=123),如下图,age就会出现错误,应赋值12
在这里插入图片描述
在这里插入图片描述

@Profile (多环境)

激活环境,通过坏境选择对应的Bean组件,在applicationproperties中配置相对应的环境。
在这里插入图片描述
在这里插入图片描述

ClassPathXMLApplicationContext

在这里插入图片描述
就是用xml文件配置bean
在这里插入图片描述
在resources下创建ioc.xml,配置如下
在这里插入图片描述
最后两行一个是bean扫描,把文件下的bean扫描进去,一个是引入外部文件。需要注意的是,默认情况下application.properties是不被引用的。

生命周期

initMethod destroyMethod

在这里插入图片描述
在这里插入图片描述
User部分的代码
user板块
UserConfig的代码
在这里插入图片描述

InitializingBean, DisposableBean

这是两个接口
在这里插入图片描述
在这里插入图片描述
经过执行后发现
在这里插入图片描述
在这里插入图片描述

@PostConstruct,@PreDestroy

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源代码
User.java

package com.atguigu.sping01ioc.bean;import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
import lombok.Data;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;@Data
public class User implements InitializingBean, DisposableBean {private String username;private String password;private Car car;@Autowiredvoid setCar(Car car) {this.car = car;System.out.println("User 自动注入");}public User(){System.out.println("User 构造器");}@PostConstructpublic void postConstruct(){System.out.println(" @PostConstruct");}@PreDestroypublic void preDestroy(){System.out.println("@PreDestroy");}public void initUser(){System.out.println("User@Bean初始化");}public void destroyUser(){System.out.println("User@Bean销毁");}@Overridepublic void destroy() throws Exception {System.out.println("Initializing Bean == destroy");}@Overridepublic void afterPropertiesSet() throws Exception {System.out.println("Initializing Bean == afterPropertiesSet");}
}

UserConfig.java

package com.atguigu.sping01ioc.config;import com.atguigu.sping01ioc.bean.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class UserConfig {@Bean(initMethod = "initUser",destroyMethod = "destroyUser")public User user(){return new User();}
}

http://www.hkcw.cn/article/kjVlsxvpuI.shtml

相关文章

数据库 | 时序数据库选型

选型目标 高性能与低延迟&#xff1a;满足高频率数据写入与即时查询的需求。资源效率&#xff1a;优化存储空间使用&#xff0c;减少计算资源消耗。可扩展架构&#xff1a;支持数据量增长带来的扩展需求&#xff0c;易于维护。社区活跃度&#xff1a;有活跃的开发者社区&#…

Linux | Shell脚本的基础知识

一. 定义 1.1 什么是shell脚本 shell脚本是一种可运行的文本shell脚本的内容是由逻辑和数据组成shell脚本是解释型语言 命令不可单独执行&#xff0c;由解释器将代码转换为系统指令&#xff0c;系统接受指令后执行速度比编译型语言慢&#xff0c;优点是简单&#xff0c;开发效…

Window Server 2019--09 路由和桥接的设置

本章要点 >>了解路由器工作原理。 >>掌握路由与远程访问服务的设置。 >>掌握桥接的设置。 路由器(Router)是网络中的核心设备&#xff0c;它工作在开放系统互连(Open SystemInter- connection&#xff0c;OSI)网络参考模型的网络层(第3层),用于连接多个在…

国芯思辰| 霍尔电流传感器AH811为蓄电池负载检测系统安全护航

在电动车、储能电站、不间断电源&#xff08;UPS&#xff09;等设备中&#xff0c;蓄电池作为关键的储能单元&#xff0c;其运行状态直接关系到设备的稳定性和使用寿命。而准确监测蓄电池的负载情况&#xff0c;是保障其安全、高效运行的关键。霍尔电流传感器 AH811凭借独特的技…

如何构建高效的接口自动化测试框架(全)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在选择接口测试自动化框架时&#xff0c;需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说&#xff0c;使用Python相关的测试框架更为便捷。无论选择…

Redis Stack常见拓展

Redis JSON RedisJSON 是 Redis Stack 提供的模块之一&#xff0c;允许你以 原生 JSON 格式 存储、检索和修改数据。相比传统 Redis Hash&#xff0c;它更适合结构化文档型数据&#xff0c;并支持嵌套结构、高效查询和部分更新。 #设置⼀个JSON数据,其中$表示JSON数据的根节点…

Java AQS(Abstract Queued Synchronized)深度解析

一、AQS概述 AQS是Java并发包中的核心框架&#xff0c;为构建锁和同步器提供了基础实现。它是JUC&#xff08;java.util.concurrent&#xff09;包中大多数同步类的基石&#xff0c;如ReentrantLock、Semaphore、CountDownLatch等都基于AQS实现。 1.1 AQS核心思想 AQS的核心…

建筑节能要求趋严,楼宇自控技术独特优势愈发清晰可辨

在全球应对气候变化、积极推进 “双碳” 目标的大背景下&#xff0c;建筑行业作为能源消耗的 “大户”&#xff0c;面临着日益严苛的节能要求。从国家相继出台的建筑节能设计标准&#xff0c;到地方推行的能耗限额管理政策&#xff0c;都在倒逼建筑行业探索更高效的节能路径。传…

TCP连接关闭过程的技术解析:从四次挥手到资源释放

一、引言 TCP&#xff08;传输控制协议&#xff09;作为面向连接的可靠传输协议&#xff0c;其连接的建立与终止过程均需严格遵循规范。本文基于实际抓包数据&#xff0c;深入分析客户端与服务端在数据传输后的连接关闭过程&#xff0c;聚焦四次挥手&#xff08;Four-Way Hand…

人工智能浪潮下,制造企业如何借力DeepSeek实现数字化转型?

一、DeepSeek技术概述 DeepSeek&#xff0c;凭借其强大的深度学习和自然语言处理能力&#xff0c;能够理解复杂问题并提供精准解决方案。它不仅能够作为学习、工作、生活的助手&#xff0c;满足用户在不同场景下的需求&#xff0c;更能在制造业中发挥重要作用。通过自然语言交…

知识隔离的视觉-语言-动作模型:训练更快、运行更快、泛化更好

25年5月来自PI的论文“Knowledge Insulating Vision-Language-Action Models: Train Fast, Run Fast, Generalize Better”。 视觉-语言-动作 (VLA) 模型通过将端到端学习与来自网络规模视觉-语言模型 (VLM) 训练的语义知识迁移相结合&#xff0c;为机器人等物理系统训练控制策…

Java实现命令行图书管理系统(附完整源码)

一、项目概述 本文将介绍如何使用Java实现一个基于命令行的图书管理系统。系统支持管理员和普通用户两种角色&#xff0c;提供图书的增删改查、借阅归还等功能。项目采用面向对象设计原则&#xff0c;代码结构清晰&#xff0c;适合Java初学者学习。 二、系统功能架构 graph T…

pyinstaller 使用 控制台闪退解决办法

pyinstaller --noconfirm --clean websoket.py --onefile pip install pyinstaller py地址不要带中文 install时的python版本要和文件的环境python版本一样 if __name__ "__main__": print("Starting WebSocket server at ws://0.0.0.0:5000/ws") p…

首发!PPIO派欧云上线DeepSeek-R1-0528-Qwen3-8B蒸馏模型

首发&#xff01;PPIO派欧云上线DeepSeek-R1-0528-Qwen3-8B蒸馏模型 DeepSeek R1 系列的模型更新还在继续。 继昨天 PPIO派欧云首发上线 DeepSeek-R1-0528 模型后&#xff0c;今天 PPIO 再次首发 DeepSeek 最新开源的蒸馏模型 DeepSeek-R1-0528-Qwen3-8B。 DeepSeek-R1-0528-Q…

DAY 10 机器学习建模与评估

把之前学到的对数据的处理方法都用一遍&#xff0c;以后直接使用处理好的数据。 开始机器学习建模&#xff08;简单建模&#xff0c;不涉及调参&#xff09;和评估。 一、总体流程 导库读取数据查看数据信息--理解数据补全缺失值处理异常值离散值处理删除无用列划分数据集特…

【Oracle】函数大全

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. Oracle函数概述1.1 函数的基本特点 2. 字符串函数2.1 基础字符串操作LENGTH 和 LENGTHBUPPER、LOWER、INITCAP 2.2 字符串截取和查找SUBSTR 和 SUBSTRBINSTR 和 INSTRB 2.3 字符串连接和替换CONCAT 和 ||REP…

基于Role实现LNMP[M]

1. role的简介 在 Ansible 中&#xff0c;role&#xff08;角色 &#xff09;是自 1.2 版本引入的特性 &#xff0c;用于层次性、结构化地组织 playbook。它本质上是一种特殊方法&#xff0c;将原本集中在一个 YAML 文件里的内容&#xff0c;按规则分散并封装到不同目录下&…

科学智能赋能空间科学研究(1):中国空间站空间科学实验的数据生态构建

中国科学院空间应用工程与技术中心在空间科学实验领域的研究覆盖了多模态空间科学实验数据模式挖掘、领域知识抽取、跨学科知识融合与认知智能等研究内容&#xff0c;有效促进了空间科学实验领域的数据应用生态的体系化建设&#xff0c;相关研究成果已正式发表于权威学术期刊《…

RabbitMQ集群与负载均衡实战指南

文章目录 集群架构概述仲裁队列的使用1. 使用Spring框架代码创建2. 使用amqp-client创建3. 使用管理平台创建 负载均衡引入HAProxy 负载均衡&#xff1a;使用方法1. 修改配置文件2. 声明队列 test_cluster3. 发送消息 集群架构 概述 RabbitMQ支持部署多个结点&#xff0c;每个…

告别RAG上下文丢失:Late Chunking 与 Contextual Retrieval 深度对比解析

一 面临的挑战 在传统RAG流程中&#xff0c;必不可少的一个步骤是把长文档进行分块&#xff0c;然后把这些文本块进行向量化处理&#xff0c;并且存放在向量数据库中&#xff0c;当查询的时候&#xff0c;则从数据库中检索出相似的文本块传递给大模型&#xff0c;用于生成响应…