2快速入门Spring基于XML的方式注册第一个组件

基于XML的方式注册第一个组件

开发步骤

第一步:创建Maven工程配置生成的pom.xml文件, 添加spring context基础依赖和junit依赖(注意根据Spring官方文档描述,Spring6需要JDK版本17)

  • 当添加Spring的基础依赖spring context之后,Maven会自动关联并引入其他依赖spring aop, spring beans, spring core,spring jcl,spring expression
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.powernode</groupId><artifactId>spring6-002-first</artifactId><version>1.0-SNAPSHOT</version><!--学习Spring可以指定打包方式为jar即项目可以是普通的java项目--><packaging>jar</packaging><!--配置多个仓库--><repositories><!--spring里程碑版本的仓库,注意6.0.2及以上版本就是正式版本,使用时就不用再配置仓库了--><repository><id>repository.spring.milestone</id><name>Spring Milestone Repository</name><url>https://repo.spring.io/milestone</url></repository></repositories><dependencies><!--spring context依赖,如果你想使用spring的jdbc,或者说其他的tx,那么还需要再次添加依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.9</version><!--<version>6.0.0-M2</version>--></dependency><!--junit依赖--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><!--log4j2的依赖--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.19.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j2-impl</artifactId><version>2.19.0</version></dependency></dependencies><!--配置Project工程结构的JDK版本才会有以下标签--><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties>
</project>

第二步:在src/mian/java目录下的bean包下定义User类

public class User {
}

第三步:在src/mian/resources目录下编写spring的配置文件beans.xml,这个配置文件的名字可以随意(IDEA工具自带的有Spring配置文件模板)

  • bean标签的id属性:代表对象的唯一标识 , 可以看做一个人的身份证号
  • bean标签的class属性:用来指定要创建的java对象的类名,这个类名必须是全限定类名(带包名)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置bean,这样spring才可以帮助我们管理这个对象--><bean id="userBean" class="com.powernode.spring6.bean.User"/><!--这里也可以配置其他的bena,一个bena就代表一个对象-->
</beans>

在这里插入图片描述

第四步:编写测试程序

  • 第一步:获取Spring容器对象 , 解析beans.xml文件创建所有的bean对象并放到容器中
  • 第二步:根据bean的id从Spring容器中获取这个对象
public class FisrtSpringTest{@Testpublic void testFistSpringCode(){// ClassPathXmlApplicationContext是专门从类路径当中加载spring配置文件的一个Spring上下文对象// 启动了Spring容器,解析beans.xml文件,并且实例化所有的bean对象,放到spring容器当中ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");// 根据bean的id从Spring容器中获取这个对象Object userBean = applicationContext.getBean("userBean");System.out.println(userBean);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/27494.html

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

相关文章

【golang中的切片的相关知识点】[ ] slice

golang-切片 切片的定义和初始化切片的内存分析切片的操作获取长度和容量追加元素复制切片 切片的遍历切片的特性总结 Golang中的切片是一种灵活且强大的数据结构&#xff0c;它可以动态地增长和缩小。切片是基于数组的抽象&#xff0c;它提供了更方便的操作和更灵活的内存管理…

什么是分布式微服务?

什么是分布式微服务&#xff1f; 前言什么是微服务举例说明 什么是分布式图解分布式与微服务单体架构及部署微服务架构分布式影响 分布式微服务架构什么是分布式微服务架构面临的问题 前言 本文旨在讲清楚什么是分布式微服务架构&#xff0c;通过解释微服务架构和分布式架构&a…

瀚高数据库企业版V4单机版-安装手册(Windows)

目录 瀚高数据库企业版V4单机版-安装手册&#xff08;Windows&#xff09; 1. 环境准备 2. 软件安装 3.设置环境变量 4 配置数据库文件 瀚高数据库企业版V4单机版-安装手册&#xff08;Windows&#xff09; 1. 环境准备 ①.安装数据库之前&#xff0c;请确保vcredist_x6…

服务器数据库的防护策略与360后缀勒索病毒解密方法

在当今数字化时代&#xff0c;服务器数据安全面临着越来越多的挑战。其中&#xff0c;勒索病毒攻击就是一种常见的网络威胁之一&#xff0c;最近&#xff0c;很多的公司服务器数据库遭到了360后缀勒索病毒攻击&#xff0c;导致许多重要数据无法读取&#xff0c;一旦企业的数据库…

IDR: Self-Supervised Image Denoising via Iterative Data Refinement

文章目录 IDR: Self-Supervised Image Denoising via Iterative Data Refinement1. noisy-clean pair 比较难获取2. noiser-noisy pair 比较容易获取&#xff0c;但是训练效果呢&#xff1f;2.1 noiser-noisy 训练的模型&#xff0c;能够对 noisy 图像一定程度的降噪2.2 noiser…

YOLOv7 yaml 文件简化

文章目录 修改方式common.pyyolo.pyYOLOv7-ELAN.yaml原始的 YOLOv7 yaml 文件的模块是拆开写的,比较乱, 改进起来也不太容易,这篇博文将 YOLOv7 yaml 文件换了一种写法, 参数量和计算量是完全和原来一致的,区别只是在于 yaml文件的写法不同, 封装后具体的结构可以参考…

希尔排序

希尔排序 排序步骤 1、分组&#xff0c;以任意长度进行分组&#xff08;这个长度我们称作增量gap&#xff09;&#xff1b;通常以总长度的一半这个数为依据进行分组&#xff0c;每间隔 gap 个数即为一组 2、组内排序&#xff1b;组内使用插入排序法进行排序 3、重新设置间隔…

微服务Gateway网关(自动定位/自定义过滤器/解决跨域)+nginx反向代理gateway集群

目录 Gateway网关 1.0.为什么需要网关&#xff1f; 1.1.如何使用gateway网关 1.2.网关从注册中心拉取服务 1.3.gateway自动定位 1.4.gateway常见的断言 1.5.gateway内置的过滤器 1.6.自定义过滤器-全局过滤器 1.7.解决跨域问题 2.nginx反向代理gateway集群 2.1.配置…

Upsource的下载安装使用

一&#xff0c;下载 下载地址&#xff1a; https://www.jetbrains.com/upsource/下载并解压到指定的文件夹 ├── api ├── apps ├── backups # 备份目录 ├── bin # 应用目录 ├── conf # 配置文件 ├── data ├── internal ├── launcher ├── lib ├─…

Java集合详解

1. 集合基础 1.1 集合概述 1.2 ArrayList构造方法和添加方法 1.3 ArrayList集合常用方法 1. 集合基础 1.1 集合概述 集合类的特点:提供一种存储空间可变的存储横型&#xff0c;存储的数据容量可以发生改变 ArrayList ArrayList< >: 可调整大小的数组实现 < >:是…

TextView 必填项pro版

优点 基本解决对齐方式,可以设置前缀隐藏和显示 /*** https://blog.csdn.net/u013982652/article/details/94404711* Android自定义TextView实现必填项前面的*号* 另一种实现方式(推荐使用这种,有非必填情况的话不会有对齐问题)* <p>* <cn.mvp.mlibs.weight.MiRequire…

【Fiddler】Fiddler实现mock测试(模拟接口数据)

软件接口测试过程中&#xff0c;经常会遇后端接口还没有开发完成&#xff0c;领导就让先介入测试&#xff0c;然后缩短项目时间&#xff0c;有的人肯定会懵&#xff0c;接口还没开发好&#xff0c;怎么介入测试&#xff0c;其实这就涉及到了我们要说的mock了。 一、mock原理 m…