当前位置: 首页 > news >正文

spring4第3课-ioc控制反转-详解依赖注入的4种方式

1,属性注入;

2,构造函数注入;(通过类型;通过索引;联合使用)

3,工厂方法注入;(非静态工厂,静态工厂)

4,泛型依赖注入;(Spring4 整合 Hibernate4 的时候顺带讲)

详细解释

1,属性注入;

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--定义2个bean:lisi--><bean id="lisi" class="com.java1234.service.Lisi"></bean><bean id="javaWork" class="com.java1234.service.JavaWork"><property name="tester" ref="lisi"></property></bean>
</beans>

   这里就是一种对象注入  <property name="tester" ref="lisi"></property>

   如果对象有age的属性,对value的设置10就是属性注入,代码如下:

<bean id="people2" class="com.java1234.entity.People"> <property name="id" value="1"></property><property name="name" value="张三"></property><property name="age" value="11"></property>
</bean>

2,构造函数注入;(通过字段类型;通过索引(也就是字段顺序);联合使用(字段顺序+字段类型))

<!-- 构造方法注入-字段类型-->
<bean id="people3" class="com.java1234.entity.People"><constructor-arg type="int" value="2"></constructor-arg><constructor-arg type="String" value="李四"></constructor-arg><constructor-arg type="int" value="22"></constructor-arg>
</bean>
<!-- 构造方法注入-字段顺序0,1,2 -->
<bean id="people4" class="com.java1234.entity.People"><constructor-arg index="0" value="3"></constructor-arg><constructor-arg index="1" value="王五"></constructor-arg><constructor-arg index="2" value="55"></constructor-arg>
</bean>
<!-- 构造方法注入 ,字段顺序+字段类型-->
<bean id="people5" class="com.java1234.entity.People"><constructor-arg index="0" type="int" value="4"></constructor-arg><constructor-arg index="1" type="String" value="招六"></constructor-arg><constructor-arg index="2" type="int" value="66"></constructor-arg>
</bean>

3,工厂方法注入;(非静态工厂,静态工厂)

3.1)非静态工厂:

   <bean id="peopleFactory" class="com.java1234.factory.PeopleFactory"></bean>
   <bean id="people7" factory-bean="peopleFactory" factory-method="createPeople"></bean>

      <! -- 上面的peopleFactory是工厂bean,createPeople是工厂bean的方法-->

3.2)静态工厂:( 由static修饰(类PeopleFactory2的)createPeople方法,又因为是static类型,可以直接使用类型class,可以不需要像非静态工厂那样还使用factory-bean)

<bean id="people8" class="com.java1234.factory.PeopleFactory2" factory-method="createPeople"></bean>

4,泛型依赖注入;(Spring4 的新功能 )

相关文章:

  • SpringBoot项目快速打包与部署,War包⽅式打包部署与Jar包⽅式打包部署两种方式
  • 基于Vue3.0的【Vis.js】库基本使用教程(002):图片知识图谱的基本构建和设置
  • SpringBoot Controller接收参数方式
  • SpringBoot使用ffmpeg实现视频压缩
  • vue+elementUi+axios实现分页(MyBatis、Servlet)
  • Baklib内容中台驱动资源高效整合
  • matlab中绘图函数plot
  • 《vue.js快速入门》链接摘抄整理
  • DBeaver 连接 OceanBase Oracle 租户
  • vscode 终端 PATH 和python pip 不对
  • 压缩包方式在Linux和Windows下安装mongodb
  • 前端面经 React常见的生命周期
  • D2000平台上Centos使用mmap函数遇到的陷阱
  • 多模态大语言模型arxiv论文略读(九十六)
  • MCU与CPU时钟概念详解:从基础到面试高频问题
  • 嵌入式学习笔记 - 新版Keil软件模拟时钟Xtal灰色不可更改的问题
  • 回归算法模型之线性回归
  • 【Qt开发】布局管理器
  • 《活法》
  • 沉浸式 VR 汽车之旅:汽车虚拟展厅与震撼试驾体验
  • 长春火车站停车场24小时收费标准/简单网页制作模板
  • 英文垃圾站wordpress/营销助手下载app下载
  • 织梦网站怎样做锚文本/游戏加盟
  • 可以自己做网站/惠州网站seo排名优化
  • b2b电子商务平台官网/百度推广账户优化
  • 哪里有网站开发公司/网站关键词优化办法