UserInfo.java
package com.jd.vo;
public class UserInfo {
public UserInfo() {
System.out.println("构造方法");
}
}
scope包含以下属性的值:
1.singleton(默认值):单例模式,被标示为单例的对象在spring容器中只会存在一个实例
创建的几个对象都只有一个
application.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 id="userInfo" class="com.jd.vo.UserInfo" lazy-init="true" scope="singleton">
</bean>
</beans>
Test.java
package com.jd.test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");
Object object = applicationContext.getBean("userInfo");
System.out.println(object);
object = applicationContext.getBean("userInfo");
System.out.println(object);
applicationContext.close();
}
}
console:
2.prototype:被标识为多例的对象,每次再获得才会创建,每次创建都是新的对象
会创建几个对象
application.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 id="userInfo" class="com.jd.vo.UserInfo" lazy-init="true" scope="prototype">
</bean>
</beans>
console:
3.request/session:表示与web中的request和session生命周期相同