ssm学习笔记(尚硅谷) day1

创建新项目

在这里插入图片描述

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.pswp.cn/pingmian/82763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java,SpringBoot,Vue,UniAPP医院预约挂号买药就诊病例微信小程序系统设计

摘要 随着医疗信息化的不断推进以及“互联网医疗”模式的广泛普及&#xff0c;传统医院挂号流程中存在的排队时间长、资源分配不均等问题日益凸显&#xff0c;急需通过数字化手段加以解决。本研究设计并实现了一套基于Java、SpringBoot、Vue与UniAPP技术栈的医院预约挂号微信小…

Axure项目实战:运输统计页引入echarts实现高保真设计(JS代码ctrl+c ctrl+v懂得来)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 案例视频: 数据统计引入echarts示例演示 课程主题:运输统计页引入echarts实现高保真设计 主要内容…

python打卡day39

图像数据与显存 知识点回顾 图像数据的格式&#xff1a;灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 作业&#xff1a;今日代码较少&#xff0c;理解内容即可 在 PyTorch 中&#xff0c;…

15.1 【基础项目】使用 HTML、CSS 和 TypeScript 构建的简单计数器应用

一个简单的计数器应用是学习如何集成 HTML、CSS 和 TypeScript 的绝佳项目。该应用允许用户对计数值进行增加、减少和重置&#xff0c;展示了 TypeScript 中基本的 DOM 操作和事件处理。 我们将构建的内容 我们将创建一个具有以下功能的计数器应用&#xff1a; 增加计数值减…

RT-Thread源码阅读(3)——内核对象管理

_object_container对象容器数组 在RT-Thread操作系统中&#xff0c;_object_container数组的作用是按类型分类管理内核对象&#xff0c;提供高效的类型检查、资源管理和统计功能 struct rt_list_node {struct rt_list_node *next; /**< point to…

《智能医学》征稿通知:7天可见刊,专科及以上可发表

香港科学出版社(Hong Kong Scientific Publishers Journals)是一家全球独立高质量的学术出版机构&#xff0c;遵循国际开放获取的出版(OA)原则。现已与科检易学术携手共同征集高质量文章。目前可出版来自高等学校、科研院所和企业的先进科技成果。包括理、工、农、医、经、管、…

如何利用categraf的exec插件实现对Linux主机系统用户及密码有效期进行监控及告警?

需求描述 Categraf作为夜莺监控平台的数据采集工具&#xff0c;为了保障Linux主机的安全&#xff0c;需要实现对系统用户密码有效期的监控&#xff0c;并在密码即将到期时及时告警&#xff0c;以提醒运维人员更改密码。本章将详细介绍如何利用Categraf的exec插件来实现这一功能…

RV1126-OPENCV 交叉编译

一.下载opencv-3.4.16.zip到自己想装的目录下 二.解压并且打开 opencv 目录 先用 unzip opencv-3.4.16.zip 来解压 opencv 的压缩包&#xff0c;并且进入 opencv 目录(cd opencv-3.4.16) 三. 修改 opencv 的 cmake 脚本的内容 先 cd platforms/linux 然后修改 arm-gnueabi.to…

如何加载私钥为 SecKeyRef

本文介绍如何在 iOS/macOS 下将私钥加载为 SecKeyRef&#xff0c;涵盖 PEM 格式的 ECC 密钥读取、X9.63 数据构建、以及与 Keychain 的集成。 1. 使用 SecKeyCreateWithData 加载私钥 Apple 提供的 SecKeyCreateWithData 方法可以直接将密钥数据加载为 SecKeyRef 对象。 SecK…

Missashe考研日记—Day44-Day50

Missashe考研日记—Day44-Day50 写在面前 本系列博客用于记录博主一周的学习进度&#xff0c;具体知识总结在目前已有的笔记中&#xff1a;1.高数强化学习笔记2.计网复习笔记3.新增&#xff1a;线代题型总结 专业课408 这周先是把计网第三章数据链路层剩下的局域网以及之后…

Windows下安装并使用kubectl查看K8S日志

【1】安装kubectl 官网文档&#xff1a;https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/ 下载后得到 kubectl.exe&#xff0c;放到一个目录下&#xff0c;然后配置环境变量。 此时CMD 进入DOS命令窗口 kubectl version【2】配置config文件 其实就是…

攻防世界János-the-Ripper

打开压缩包是一个文件&#xff0c;用010Editor打开可以发现里面有隐藏文件flag.txt 此时想到分离文件&#xff0c;利用binwalk工具 利用binwalk生成出的是一个压缩包&#xff0c;解压缩但是发现竟然解压需要密码 这里就可以开始暴力破解密码了&#xff0c;这里我用的是ARCHPR工…

XPlifeapp:高效打印,便捷生活

在数字化时代&#xff0c;虽然电子设备的使用越来越普遍&#xff0c;但打印的需求依然存在。无论是学生需要打印课表、资料&#xff0c;还是职场人士需要打印名片、报告&#xff0c;一个高效便捷的打印软件都能大大提高工作效率。XPlifeapp就是这样一款超级好用的手机打印软件&…

【计算机网络】第2章:应用层—Web and HTTP

目录 一、Web 与 HTTP 二、总结 &#xff08;一&#xff09;Web 的定义与功能 &#xff08;二&#xff09;HTTP 协议的定义与功能 &#xff08;三&#xff09;HTTP 协议的核心机制 1. HTTP 请求与响应流程 2. HTTP 的连接类型 3. HTTP 的状态码 &#xff08;四&#xf…

如何实现 LRU 缓存:基于LinkedHashMap?

全文目录&#xff1a; 开篇语前言1. LinkedHashMap 简介1.1 LinkedHashMap 的构造方法 2. 基于 LinkedHashMap 实现 LRU 缓存2.1 设计思路2.2 实现步骤2.3 代码说明2.4 测试案例2.5 解释 3. LRU 缓存优化3.1 removeEldestEntry() 方法的灵活性3.2 内存管理 4. 总结文末 开篇语 …

Spring Boot测试框架全面解析

Spring Boot测试框架基础 Spring Boot通过增强Spring测试框架的能力,为开发者提供了一系列简化测试流程的新注解和特性。该框架建立在成熟的Spring测试基础之上,通过自动化配置和专用注解显著提升了测试效率。 核心依赖配置 要使用Spring Boot的全部测试功能,只需在项目中…

Spring Boot 整合 Spring Data JPA、strategy 的策略区别、什么是 Spring Data JPA

DAY29.2 Java核心基础 Spring Boot 整合 Spring Data JPA Spring Data JPA根据具体的数据库分为不同的子模块&#xff0c;无论是关系型数据库和非关系型数据库&#xff0c;Spring Data都提供了支持 Mysql&#xff1a;Spring Data JPA Redis&#xff1a;Spring Data Redis …

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 免费内网穿透家用服务器

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 本文档总结了服务器配置相关内容&#xff0c;包括 Ubuntu 服务器配置、硬盘扩容、静态 IP 设置以及 Cloudflare Tunnel 的部署步骤。 目录 硬盘分区与扩容设置静态 IPCloudflare Tunnel 部署SSH 通过 Cloudflare Tunnel常见…

降低实验检测报告编制耗时 质检LIMS系统的应用策略

在质检工作流程中&#xff0c;检测报告编制往往是耗时耗力的关键环节。传统人工编制报告不仅效率低下&#xff0c;还容易出现数据错误、格式不统一等问题。质检 LIMS 系统凭借其强大的自动化、智能化功能&#xff0c;为检测报告编制带来革命性变革&#xff0c;能够将编制时间减…