✨Bean的基础配置
🔥名称:bean
🔥类型:标签
🔥所属:beans标签
🔥功能:定义Spring核心容器管理的对象
🔥格式:
<beans>
<bean/>
<bean></bean>
</beans>
🔥属性列表:
- id : bean的id,使用容器可以通过id值获取对应的bean,在一个容器中id值唯一
- class : bean的类型,即配置的bean的全路径类名
✨Bean别名配置
🔥名称:name
🔥类型:属性
🔥所属:bean标签
🔥功能:定义bean别名,可定义多个,使用逗号( , )分号( ; )空格()分隔
🔥别名:如果添加了别名,我们也可以使用别名获取到这个对象。
- id:bean的唯一标识符,也就是相当于我们学的对象名
- class:bean对象所对应的全限定名:包名+类名
- name:也是别名,而且name可以同时取多个别名
<bean id="bookDao" name="dao" class="com.study.dao.impl.BookDaoImpl"></bean>
<bean id="bookService" name="bs books bookService2" class="com.study.service.impl.BookServiceImpl">
<property name="b" ref="dao"></property>
</bean>
测试代码:
public class Test2 {
public static void main(String[] args) {
//获取IOC容器
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取Bean
BookService bs = (BookService) context.getBean("bookService2");
bs.save();
}
}
✨Bean的作用域
🔥名称:scope
🔥类型:属性
🔥所属:bean标签
🔥功能:
- 定义bean的作用范围,可选范围如下
- singleton:单例(默认)
- prototype :非单例
🔥单例模式
<bean id="bookDao" name="dao" class="com.study.dao.impl.BookDaoImpl" scope="singleton"></bean>
🔥原型模式
每次从容器中get的时候,都会产生一个新对象!
<bean id="bookDao" name="dao" class="com.study.dao.impl.BookDaoImpl" scope="prototype"></bean>
🔥注意
适合交给容器进行管理的bean
- 表现层对象
- 业务层对象
- 数据层对象
- 工具对象
不适合交给容器进行管理的bean
- 封装实体的域对象