基于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);}
}