• 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>



  • 相关阅读:
    swagger配置
    windows下安装redis
    Redis在windows下安装过程
    jenkins安装部署全过程
    MySQL表名不区分大小写的设置方法
    Linux常用命令
    java 执行redis的部分方法
    把jar包加入本地maven库内
    Java 枚举7常见种用法
    【转】每天一个linux命令(1):ls命令
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6917722.html
Copyright © 2020-2023  润新知