• 03使用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
    
    <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.0modelVersion>
    
        <groupId>com.powernodegroupId>
        <artifactId>spring6-002-firstartifactId>
        <version>1.0-SNAPSHOTversion>
        
        <packaging>jarpackaging>
    
        
        <repositories>
            
            <repository>
                <id>repository.spring.milestoneid>
                <name>Spring Milestone Repositoryname>
                <url>https://repo.spring.io/milestoneurl>
            repository>
        repositories>
        <dependencies>
            
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-contextartifactId>
                <version>5.3.9version>
                
            dependency>
            
            <dependency>
                <groupId>junitgroupId>
                <artifactId>junitartifactId>
                <version>4.13.2version>
                <scope>testscope>
            dependency>
            
            <dependency>
                <groupId>org.apache.logging.log4jgroupId>
                <artifactId>log4j-coreartifactId>
                <version>2.19.0version>
            dependency>
            <dependency>
                <groupId>org.apache.logging.log4jgroupId>
                <artifactId>log4j-slf4j2-implartifactId>
                <version>2.19.0version>
            dependency>
        dependencies>
        
        <properties>
            <maven.compiler.source>17maven.compiler.source>
            <maven.compiler.target>17maven.compiler.target>
        properties>
    project>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

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

    public class User {
    }
    
    • 1
    • 2

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

    • bean标签的id属性: 代表对象的唯一标识,可以看做一个人的身份证号
    • bean标签的class属性: 用来指定要创建的java对象的类名,这个类名必须是全限定类名即带包名
    
    <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 id="userBean" class="com.powernode.spring6.bean.User"/>
        	
    beans>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    第四步: 编写测试程序

    • 第一步: 获取Spring容器对象,解析beans.xml文件创建所有的bean对象并放到容器中
    • 第二步: 根据bean的id从Spring容器中获取这个对象
    public class FisrtSpringTest{
        @Test
        public 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);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    计算机设计大赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python
    JavaScript_notes
    docker容器持久化
    重要公告|投票委托已经上线,应该如何选择社区代表?
    算法基础:归并排序(超详细)
    java设计模式(三)——工厂方法模式
    卷积神经网络 语义分割,图像分割神经网络算法
    py 输入参数传入方法中
    TI C6000 TMS320C6678+Kintex-7异构多核的FPGA核心板————DSP算法案例开发手册
    《计算机网络:自顶向下方法》第六章--链路层和局域网
  • 原文地址:https://blog.csdn.net/qq_57005976/article/details/132939811