名称与表示:
id 使用了约束中的唯一约束,里面不能出现特殊字符
name 没有使用唯一约束,可以出现特殊字符(一般不使用)
设置对象生命周期的方法:
init-method Bean被初始化时执行的方法 即加载配置文件时创建管理的所有的对象并调用所有的init方法(以前的版本是在调用getBean()时,对象才会被创建)
destroy-method Bean被销毁时执行的方法(Bean是单例创建的,工厂关闭)
设置对象的作用范围:
单例 singleton 拿到的都是同一个对象
多例 prototype 每次拿到的对象都不一样
工厂实例化:
无参构造器(默认使用):
<bean id="user" class="com.itlike.demo3.User">
</bean>
package com.itlike.demo3;
public class User {
public User(){
super();
System.out.println("默认构造器被调用");
}
}
public void test1(){
ClassPathXmlApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) applicationContext.getBean("user");
System.out.println(user);
}
/**
*默认构造器被调用
*com.itlike.demo3.User@6dde5c8c
*/
静态工厂实例化
<bean id="user" class="com.itlike.demo3.User" factory-method="creatUser">
</bean>
public class User {
/*public User(){
super();
System.out.println("默认构造器被调用");
}
*/
public static User creatUser(){
System.out.println("调用了createUser");
return new User();
}
}
public void test1(){
ClassPathXmlApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) applicationContext.getBean("user");
System.out.println(user);
}
/*调用了createUser
*com.itlike.demo3.User@7e9a5fbe
*/
在创建对象时,会返回类中寻找指定的构造器,指定静态的方法创造对象
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)