依赖注入(DI注入)

向一个类中传递数据的方法有几种

(1)set方法

(2)构造方法

依赖注入描述了在容器中建立bean与bean之间依赖关系的过程,bean分为两类

(1)引用类型(类)

(2)简单类型(基本数据类型与String)

依赖注入方式

(1)setter注入

(2)构造器注入

 

代码实现

①setter注入-引用类型

在bean中定义引用类型属性并提供可访问的set方法

复制代码
1 public class BookServiceImpl implements BookService {
2     private BookDao bookDao;
3 
4     public void setBookDao(BookDao bookDao) {
5         this.bookDao = bookDao;
6     }
7 }
setter注入-引用类型
复制代码

在配置中使用property小钱ref属性注入引用类型对象

复制代码
1 <bean id="bookService" class="org.wcx.service.impl.BookServiceImpl">
2     <property name="bookDao " ref="bookDao"/>
3 </bean>
4 <bean id="bookDao" class="org.wcx.service.impl.BookDaoImpl"/>
配置
复制代码

 

②setter注入-简单类型

在bean中定义简单类型并提供可访问的set方法

复制代码
 1 public class BookServiceImpl implements BookService {
 2 
 3     private int num;
 4     private String string;
 5 
 6     public void setNum(int num) {
 7         this.num = num;
 8     }
 9 
10     public void setString(String string) {
11         this.string = string;
12     }
13 
14 }
setter注入-简单类型
复制代码

配置中使用property标签value属性注入简单类型属性

复制代码
1 <bean id="bookService" class="org.wcx.service.impl.BookServiceImpl">
2     <property name="num" value="10"/>
3     <property name="string" value="sss"/>
4 </bean>
配置
复制代码

 

③构造器注入-引用类型

在bean中定义引用类型并提供可方位的构造方法

复制代码
1 public class BookServiceImpl implements BookService {
2     private BookDao bookDao;
3 
4     public BookServiceImpl(BookDao bookDao) {
5         this.bookDao = bookDao;
6     }
7 }
构造方法
复制代码

在配置中使用construction-arg标签ref属性注入引用型对象

复制代码
1 <bean id="bookService" class="org.wcx.service.impl.BookServiceImpl">
2     <constructor-arg name="bookDao" ref="bookDao" />
3 <!--    name是构造函数里形参的名字-->
4 </bean>
5 <bean id="bookDao" class="org.wcx.service.impl.BookDaoImpl"/>
配置
复制代码

 

④构造器注入-简单类型

在bean中定义简单类型属性并提供可访问的构造方法

复制代码
 1 public class BookServiceImpl implements BookService {
 2     private int num;
 3     private String s;
 4 
 5     public BookServiceImpl(int num, String s) {
 6         this.num = num;
 7         this.s = s;
 8     }
 9 
10 }
View Code
复制代码

在配置中使用construction-arg标签value属性注入简单型属性

复制代码
<bean id="bookService" class="org.wcx.service.impl.BookServiceImpl">
    <constructor-arg name="num" value="10"/>
    <constructor-arg name="s" value="sss"/>

</bean>
View Code
复制代码

 

posted @   喝了娃哈哈立刻笑哈哈  阅读(113)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示