package com.powernode.spring6.test; import com.powernode.spring6.bean.Student; import com.powernode.spring6.bean.User; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { //Spring容器只对SingleTon的Bean进行完整生命周期的管理 //如果是protoType作用域的Bean,Spring容器只负责初始化完该Bean,一旦客户端获取该Bean后,Spring容器就不再管理该对象的生命周期了 @org.junit.Test public void TestBeanInitiation() { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml"); User user = applicationContext.getBean("user",User.class); System.out.println(user); ClassPathXmlApplicationContext classPathXmlApplicationContext = (ClassPathXmlApplicationContext) applicationContext; classPathXmlApplicationContext.close(); } @org.junit.Test public void RegisterBean() { //自己new对象 Student student = new Student(); System.out.println(student); //将自己new出来的对象交给Spring管理 DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); factory.registerSingleton("student",student); //从Spring容器获取 student = factory.getBean("student",Student.class); System.out.println(student); //输出的内存地址是一样的 } }
package com.powernode.spring6.test; import com.powernode.spring6.bean.Student; import com.powernode.spring6.bean.User; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { //Spring容器只对SingleTon的Bean进行完整生命周期的管理 //如果是protoType作用域的Bean,Spring容器只负责初始化完该Bean,一旦客户端获取该Bean后,Spring容器就不再管理该对象的生命周期了 @org.junit.Test public void TestBeanInitiation() { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml"); User user = applicationContext.getBean("user",User.class); System.out.println(user); ClassPathXmlApplicationContext classPathXmlApplicationContext = (ClassPathXmlApplicationContext) applicationContext; classPathXmlApplicationContext.close(); } @org.junit.Test public void RegisterBean() { //自己new对象 Student student = new Student(); System.out.println(student); //将自己new出来的对象交给Spring管理 DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); factory.registerSingleton("student",student); //从Spring容器获取 student = factory.getBean("student",Student.class); System.out.println(student); //输出的内存地址是一样的 } }
Spring如何将自己new出来的对象交给Spring容器管理-----Spring框架
于 2023-08-11 10:37:37 首次发布