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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。