Bean标签基本配置
由于配置对象交由Spring来创建
默认情况下它调用的的是类中的无参构造函数,如果没有无参构造函数则不会创建成功
-
id:唯一标识符号,反射是通过无参构造创建对象的。
-
class:Bean的全限名称
-
scope:指对象的作用范围,取值如下:
-
主要 singleton 和 prototype
测试singleton范围:
编写接口
public interface UserDao {
public void save();
}
具体实现类
public class UserDaoImpl implements UserDao {
public void save() {
System.out.println("save running.....");
}
}
applicationContext.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">
<!-- 不写scope也是singleton -->
<bean id="UserDao" class="com.my.UserDaoImpl" scope="singleton"/>
</beans>
注意bean里面的scope为:singleton
编写测试类:
public class UserDemo {
@Test
//测试scope属性
public void mytest(){
ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao1 = (UserDao) application.getBean("UserDao");
UserDao userDao2= (UserDao) application.getBean("UserDao");
System.out.println(userDao1);
System.out.println(userDao2);
}
}
注意bean里面的scope为:prototype
总结:
singleton是一个唯一的Bean
prototype是不唯一的Bean