spring_bean基础配置
Spring bean基础配置
bean基础知识
bean本质上是对象
实例化bean的三种方法
-
使用构造方法完成
-
不管bean调用的对象定义的构造方法是私有/共有,bean都可以进行调用。
-
调用的是无参的构造方法(不能有参数)。
1
<bean id="bookDao" class="com.itheima.dao.imp.BookDaoImpl1"/>
-
-
使用静态工厂实例化bean (了解)
-
// 工厂对象 public class BookDaoFactory { public static BookDao getBookDao() { return new BookDaoImpl1(); } }
1
2
3
- ```xml
<bean id="bookDao" class="com.itheima.Factory.BookDaoFactory" factory-method="getBookDao"/>
-
-
使用实例工厂实例化bean ( 重要! )
-
// 工厂对象 public class BookDaoFactoryBean implements FactoryBean<BookDao> { // 代替原始实例工厂中创建对象的方法 public BookDao getObject() throws Exception { return new BookDaoImpl1(); } public Class<?> getObjectType() { return BookDao.class; } public boolean isSingleton() { // 是单例 return true; } }
1
2
3
- ```xml
<bean id="bookDao" class="com.itheima.Factory.BookDaoFactory" />
-
原代码
1 | // 业务层 |
Spring配置
spring依赖引入
-
在
pom.xml
文件中加入1
2
3
4
5
6
7<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.18</version>
</dependency>
</dependencies>引入spring依赖
配置项目resource目录
-
新建
applicationContext.xml
文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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">
<!-- 1. 导入spring的坐标spring-context-->
<!-- 2. 配置bean (配置实现类) -->
<bean id="bookDao" class="com.itheima.dao.imp.BookDaoImpl1"/>
<!-- 4. bean的作用范围分为singleton(单例)和 prototype(多例), 由scope属性配置,默认为singleton-->
<bean id="bookService" class="com.itheima.service.impl.BookServiceImpl" scope="singleton">
<!-- 3. 配置service与dao的关系
property标签表示配置当前bean的属性
name属性表示配置哪一个具体的属性
ref属性表示参照哪一个bean
-->
<property name="bookDao" ref="bookDao" />
</bean>
</beans>
业务层代码改写
1 | // 业务层 |
运行程序
1 | package com.itheima; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Dludoraの博客!
评论
ValineDisqus