123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package com.sf.ioc;
- import com.sf.ioc.helloworld.Role;
- import com.sf.ioc.helloworld.User;
- import org.junit.jupiter.api.Test;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- /**
- * src/main/java/com/sf
- * src/test/java/com/sf
- * 编写一个对user的测试类
- */
- public class TestUser {
- @Test
- public void test() {
- // 先引入spring容器 然后查找user的bean
- // ApplicationContext 是应用上下文 容器的意思
- ApplicationContext context = new ClassPathXmlApplicationContext("ioc/spring-beans.xml");
- User user = (User) context.getBean("user");
- System.out.println(user);
- User user1 = (User) context.getBean("user1");
- System.out.println(user1);
- User user2 = (User) context.getBean("user2");
- System.out.println(user2);
- User user3 = (User) context.getBean("user3");
- System.out.println(user3);
- User user4 = (User) context.getBean("user4");
- System.out.println(user4);
- Role role = (Role) context.getBean("role");
- System.out.println(role);
- }
- @Test
- public void testNew() {
- ApplicationContext context = new ClassPathXmlApplicationContext("ioc/spring-beans-new.xml");
- User user = (User) context.getBean("user");
- System.out.println(user);
- User user1 = (User) context.getBean("user1");
- System.out.println(user1);
- User user2 = (User) context.getBean("user2");
- System.out.println(user2);
- // role只被创建一次 比较不同user的role对象 是同一个
- System.out.println(user.getRole() == user1.getRole());
- Role role = (Role) context.getBean("role1");
- System.out.println(role);
- Role role2 = (Role) context.getBean("role2");
- System.out.println(role2);
- Role role4 = (Role) context.getBean("role4");
- System.out.println(role4);
- }
- @Test
- public void test1(){
- // User user = new User("wangwu","sth");
- // Role role = new Role("admin");
- // user.setRole(role);
- // Role role = new Role("admin");
- // User user = new User("wangwu","sth",role);
- // 在配置文件中生效
- // 声明一个对象 对应一个bean标签
- // <bean class="com.sf.helloworld.Role">
- // <constructor-arg name="name" value="admin"/>
- // </bean>
- // 包裹为构造器的参数
- // <constructor-arg name="name" value="wangwu"></constructor-arg>
- // <constructor-arg name="role">
- // <bean class="com.sf.helloworld.Role">
- // <constructor-arg name="name" value="admin"/>
- // </bean>
- // </constructor-arg>
- // 变成调用全参构造器
- // <bean id="user1" class="com.sf.helloworld.User">
- // <constructor-arg name="name" value="wangwu"></constructor-arg>
- // <constructor-arg name="desc" value="普通用户"></constructor-arg>
- // <constructor-arg name="role">
- // <bean class="com.sf.helloworld.Role">
- // <constructor-arg name="name" value="admin"/>
- // </bean>
- // </constructor-arg>
- // </bean>
- }
- }
|