zoukankan      html  css  js  c++  java
  • spring bean作用域

    概要:



    实例代码具体解释:

    文件夹结构



    Car.java

    package com.coslay.beans.autowire;
    
    public class Car {
    	private String brand;
    	private double price;
    
    	public String getBrand() {
    		return brand;
    	}
    
    	public void setBrand(String brand) {
    		this.brand = brand;
    	}
    
    	public double getPrice() {
    		return price;
    	}
    
    	public void setPrice(double price) {
    		this.price = price;
    	}
    
    	@Override
    	public String toString() {
    		return "Car [brand=" + brand + ", price=" + price + "]";
    	}
    	
    	public Car(){
    		System.out.println("Car's Constructor...");
    	}
    
    }
    

    Main.java

    package com.coslay.beans.scope;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.coslay.beans.autowire.Car;
    
    public class Main {
    	public static void main(String[] args) {
    		ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-scope.xml");
    		
    		Car car = (Car) ctx.getBean("car");
    		Car car2 = (Car) ctx.getBean("car");
    		
    		System.out.println(car == car2);
    	}
    }
    


    beans-scope.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"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    	<!-- 
    		使用bean的scope属性来配置bean的作用域
    		singleton:默认值,容器初始化时创建bean实例,在整个容器的生命周期内仅仅创建这一个bean。单例的。
    		prototype:原型的。容器初始化时不创建bean的实例。

    而在每次请求时都创建一个新的Bean实例。并返回。

    --> <bean id="car" class="com.coslay.beans.autowire.Car" scope="prototype"> <property name="brand" value="Audi"></property> <property name="price" value="300000000"></property> </bean> </beans>



  • 相关阅读:
    解决使用vim-go插件时候保存go代码导致设置好的折叠消失的问题
    golang中从一个日期开始往后增加一段时间
    linux kernal oom killer 学习
    awk学习笔记
    FlexMonkey实战
    如何阅读一本书-读书笔记
    Oracle性能问题sql调优脚本集
    了解ORACLE培训OCA-OCP-OCM课程表
    Sublime Text 3设置笔记
    【总结】AngularJs学习总结
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6917722.html
Copyright © 2011-2022 走看看