package exm.spring.bean;
public class User {
private String name;
private String password;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String name, String password) {
super();
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
//测试类
package exm.spring.bean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
@org.junit.Test
public void test()
{
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
User user1 = ac.getBean("user", User.class);
User user2 = ac.getBean("/auser", User.class);
User user3 = ac.getBean("/myuser", User.class);
System.out.println(user1);
System.out.println(user2);
System.out.println(user3);
User scopeUser1 = ac.getBean("scopeUser", User.class);
User scopeUser2 = ac.getBean("scopeUser", User.class);
System.out.println(scopeUser1 == scopeUser2);
}
}
<!-- 配置文件 -->
<?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的别名:下面两段配置的bean会有三个名字:
user
/auser
/myuser
-->
<bean id="user" name="/auser" class="exm.spring.bean.User"></bean>
<alias name="user" alias="/myuser"/>
<!-- bean的作用域有:
1、session:web应用中用来放用户登录信息
2、request:bean在web应用中在请求响应时存活,是prototype的特例
3、prototype:一次创建一个bean,以后由这个bean的请求方管理它的生命周期
4、singleton:和spring容器有共同的生命周期
-->
<bean id="scopeUser" class="exm.spring.bean.User" scope="prototype"></bean>
</beans>
转载于:https://my.oschina.net/ChiLin/blog/387083