java-Spring入门-XML类种类注入
示例:
book实体类:
package com.yang.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @program: TestSpring
* @description: 图书类
* @author: 陈阳
* @create: 2021-01-21 20:19
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
private String bookName;
private String author;
private BooksType booksType;
}
bookType实体类:
package com.yang.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @program: TestSpring
* @description: 图书实体类
* @author: 陈阳
* @create: 2021-01-21 20:19
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BooksType {
private String typeName;
}
XML代码:
<?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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
如果记不住下边的就是“xmlns="http://www.springframework.org/schema/beans"”加个p,然后把beans改成p
p=xmlns:p="http://www.springframework.org/schema/p"
-->
<!-- 第一种注入办法-->
<bean id="book1" class="com.yang.pojo.Book" p:author="Java从入门到入坟" p:bookName="阳">
<property name="booksType" >
<bean id="bookType" class="com.yang.pojo.BooksType">
<property name="typeName" value="科教类"/>
</bean>
</property>
</bean>
<!-- 第二种注入办法-->
<bean id="book2" class="com.yang.pojo.Book" p:author="JDB从精通到不会" p:bookName="阳" p:booksType-ref="bookType2"/>
<bean id="bookType2" class="com.yang.pojo.BooksType" p:typeName="科教类"/>
</beans>
测试类:
package com.yang.run;
import com.sun.org.apache.xpath.internal.SourceTree;
import com.yang.pojo.ArrayAndCollection;
import com.yang.pojo.Book;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.sql.SQLOutput;
import java.util.Arrays;
/**
* @program: TestSpring
* @description: 测试bean对象是否创建成功
* @author: 陈阳
* @create: 2021-01-21 19:40
**/
public class TestBean {
@Test
public void testBook(){
ApplicationContext context = new ClassPathXmlApplicationContext("Bookbean.xml");
Book book1 = context.getBean("book1", Book.class);
Book book2 = context.getBean("book2", Book.class);
System.out.println("第一种方式输出结果");
System.out.println(book1.toString());
System.out.println("第二种方式输出结果");
System.out.println(book2.toString());
}
}
测试结果: