ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring通过获取反射文件获取对象(属性的赋值 DI)

2022-06-13 17:33:03  阅读:177  来源: 互联网

标签:DI Spring 获取 User context spring import class user


Spring通过获取反射文件获取对象(属性的赋值 DI)

DI处理的是对象的属性赋值和互相依赖的关系

c和p是引入的名称空间
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

        <bean id="user" class="com.msb.pojo.User" p:password="111111" p:name="大狗蛋" p:user="你猜"></bean>
        <bean id="user3" class="com.msb.pojo.User" p:password="111111" p:name="老狗蛋" p:user="老你猜"></bean>
        <bean id="user1" class="com.msb.pojo.User" c:password="22222" c:name="小胖子" c:user="按壁纸" ></bean>
</beans>
实体类user
package com.msb.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
public class User implements Serializable {
    private String user;
    private String password;
    private String name;
}

测试方法
import com.msb.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class test {
    @Test
    public void test1(){
        //ClassPathXmlApplicationContext(spring文件名,通过调用反射的字节码class文件进行创建对象)
        ApplicationContext context =new ClassPathXmlApplicationContext("Applicationcontext.xml");
        //context.getBean(id,转换的类型)id值spring文件的id属性
        User user = context.getBean("user",User.class);
        User user1 = context.getBean("user1",User.class);
        User user3 = context.getBean("user3",User.class);
        System.out.println(user);
        System.out.println(user1);
        System.out.println(user3);


    }
}

pom.xml注入spring文件(只需注入spring-context,其余自动加入)
<?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">
    <parent>
        <artifactId>Spring</artifactId>
        <groupId>com.msb</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>SpringAll</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.5</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

标签:DI,Spring,获取,User,context,spring,import,class,user
来源: https://www.cnblogs.com/188221creat/p/16371603.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有