【Spring 工厂】注入详解 (1),java架构师视频九个阶段百度云

xxxxx

在这里插入图片描述

JDK内置类型


String+8种基本类型

10

yusael

数组

abc@qq.com

123@qq.com

hello@qq.com

Set集合

138xxxxxxxxxx

139xxxxxxxxxx

138xxxxxxxxxx

List集合

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

China

Earth

hell

Map集合

hello

12312312312

world

21314214214

Properites

value1

value2

value3

复杂JDK类型(Date、…)

需要程序员自定义类型转换器,处理。

用户自定义类型


第一种方式

[开发步骤]:

  • 为成员变量提供 set get 方法

  • 配置文件中进行注入(赋值)

第二种方式

第⼀种赋值方式存在的问题:

  1. 配置文件代码冗余;

  2. 被注入的对象 (UserDAO)多次创建,浪费(JVM)内存资源。

[开发步骤]:

  • 为成员变量提供 set get 方法;

  • 配置文件中进行配置;

Spring4.x 废除了 <ref local=""/> 基本等效 <ref bean=""/>

Set注入的简化


基于属性的简化

JDK 类型注入:

10

JDK类型注入简化:value 属性只能简化 8种基本类型 + String 注入标签;


用户自定义类型注入:

用户自定义类型注入简化:

基于p命名空间的简化

JDK 类型注入:

10

yusael

JDK 类型注入 - 基于p命名空间的简化。

<bean id=“person” name=“p” class=“com.yusael.basic.Person”

p:name=“yusael” p:id=“10”/>


用户自定义类型注入:

用户自定义类型注入 - 基于p命名空间的简化。

<bean id=“userService” class=“com.yusael.service.UserServiceImpl”

p:userDAO-ref=“userDAO”/>

构造注入

=======================================================================

  • 注入:通过 Spring 的配置文件,为成员变量赋值;

  • Set注入:Spring 调用 Set 方法 通过 配置文件 为成员变量赋值;

  • 构造注入:Spring 调用 构造方法 通过 配置文件 为成员变量赋值;

构造注入开发


  • 提供有参构造方法

public class Customer {

private String name;

private int age;

public Customer(String name, int age) {

this.name = name;

this.age = age;

}

@Override

public String toString() {

return “Customer{” +

“name=’” + name + ‘’’ +

“, age=” + age +

‘}’;

}

}

  • spring 配置文件

zhenyu

21

构造方法重载


参数个数不同

参数个数不同时,通过控制 <constructor-arg> 标签的数量进行区分;

如果只有一个参数的话,只需要一对 <constructor-arg> 标签:

zhenyu

如果有两个参数的话,用两对 <constructor-arg> 标签,以此类推。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值