zoukankan      html  css  js  c++  java
  • Java 3.Spring的对象创建的细节

    一、id 和name

    id:可重复,可以有特殊字符

    name:不可重复,不可以有特殊字符

    	public void testIdandname() {
    		//创建容器
    		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    		//查找对象
    		Person p1=(Person) context.getBean("p1");
    		Person p2=(Person) context.getBean("p2");
    		
    		System.out.println(p1);
    		System.out.println(p2);
    	}
    

     二、工厂的类型

    两种类型工厂

    ClassPathXmlApplicationContext    类路径
    FileSystemXmlApplicationContext   系统路径
    	@Test
    	public void ApplicationContext() {
    		//创建容器
    		ApplicationContext context = new FileSystemXmlApplicationContext("G:\JavaProject\spring-01-hello\src\applicationContext.xml");
    		//查找对象
    		Person p1=(Person) context.getBean("p1");
    
    		
    		System.out.println(p1);
    
    	}
    

    三、单例和多例

    scope属性

    1.默认情况下bean是单例的  scope = “singleton”

    2.scope = "prototype"

    3. scope = “request”(一个request范围内,是单例,不常用

    4. scope = “session”(一个session范围内,是单例,不常用

    @Test	
    	public void testScope() {
    		//创建容器
    		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");		
              //查找对象 Person p1=(Person) context.getBean("p1"); Person p2=(Person) context.getBean("p1"); //scope = "singleton"是true //scope = "prototype"是false System.out.println(p1==p2); }

    四、什么时候创建

    scope = "prototype"  多例   在容器启动时不创建,当获取时才创建     

    scope = “singleton”  单例   在容器启动时创建,只创建一个

    五、是否延迟加载

    lazy-init="true"  延迟创建对象   在容器启动时不创建,当获取时才创建 
    lazy-init="false"    默认值   不延迟创建对象  在容器启动时立即创建
     <bean name="p3" class="com.Spring.pojo.Person" scope = "singleton" lazy-init="true"></bean>
    

    六、对象的初始化和销毁

    init-method="init"

    destroy-method="destroy"

  • 相关阅读:
    Integer.highestOneBit(int i)方法的作用与底层实现
    一文搞明白位运算、补码、反码、原码
    Zookeeper如何解决脑裂问题
    Zookeeper请求处理原理分析
    Linux 设备驱动之 UIO 机制
    virtio guest side implementation: PCI, virtio device, virtio net and virtqueue
    DPDK之(八)——vhost库
    Red Hat OpenStack 10的新特性
    探秘DPDK Virtio的不同路径
    2017版:KVM 性能优化之内存优化
  • 原文地址:https://www.cnblogs.com/yuzhenfu/p/12146336.html
Copyright © 2011-2022 走看看