当前位置:首页 > 学习笔记 > 正文内容

Spring框架提供的多种属性注入方式

廖万里3年前 (2022-11-09)学习笔记113141

1 set注入

注入的成员变量必须要封装  set方法

注入bean

<!--成员变量对象--><!--<bean id="u" class="com.bdqn.User"></bean>--><bean id="s" class="com.bdqn.Student">
   <property name="id" value="1"></property>
   <property name="name" >
      <value>张三</value>
   </property>
   <!--<property name="u" ref="u"></property>-->
   <property name="u" ><!--内置对象-->
      <bean class="com.bdqn.User"></bean>
   </property></bean>

2 p属性注入

头文件:

xmlns:p="http://www.springframework.org/schema/p"

Spring框架提供的多种属性注入方式编辑


3 构造函数注入 

Spring框架提供的多种属性注入方式编辑

 注册 配置文件

3.1 和已经有的构造方法 顺序一致 

3.2和已经有的构造方法  type 每个参数指定类型

3.3和已经有的构造方法  index 从0开始

Spring框架提供的多种属性注入方式
配置文件
编辑


4 特殊类型的注入

private String specialCharacter1; // 特殊字符值1
private String specialCharacter2; // 特殊字符值2

private List<String> list; // List类型
private String[] array; // 数组类型
private Set<String> set; // Set类型
private Map<String, String> map; // Map类型
private Properties props; // Properties类型
private String emptyValue; // 注入空字符串值
private String nullValue = "init value"; // 注入null值

配置文件:

<!-- 使用<![CDATA[]]>标记处理XML特 殊字符 --><property name="specialCharacter1">
   <value><![CDATA[P&G]]></value></property><!-- 把XML特殊字符替换为实体引用 --><property name="specialCharacter2">
   <value>P&amp;G</value></property><!-- 注入List类型 --><property name="list">
   <list>
      <!-- 定义List中的元素 -->
      <value>足球</value>
      <value>篮球</value>
   </list></property><!-- 注入数组类型 --><property name="array">
   <list>
      <!-- 定义数组中的元素 -->
      <value>足球</value>
      <value>篮球</value>
   </list></property><!-- 注入Set类型 --><property name="set">
   <list>
      <!-- 定义Set或数组中的元素 -->
      <value>足球</value>
      <value>篮球</value>
   </list></property><!-- 注入Map类型 --><property name="map">
   <map>
      <!-- 定义Map中的键值对 -->
      <entry>
         <key>
            <value>football</value>
         </key>
         <value>足球</value>
      </entry>
      <entry>
         <key>
            <value>basketball</value>
         </key>
         <value>篮球</value>
      </entry>
   </map></property><!-- 注入Properties类型 --><property name="props">
   <props>
      <!-- 定义Properties中的键值对 -->
      <prop key="football">足球</prop>
      <prop key="basketball">篮球</prop>
   </props></property><!-- 注入空字符串值 --><property name="emptyValue">
   <value></value></property><!-- 注入null值 --><property name="nullValue">
   <null/></property>

测试:

ApplicationContext context=new ClassPathXmlApplicationContext(
        "applicationContext.xml");TestEntity entity = (TestEntity) context.getBean("entity");
entity.showValue();


Ioc依赖注入  

Set  p   构造方法 

Set注入  (封装set 方法)


来自博客:廖万里的博客


本文链接:https://www.kkkliao.cn/?id=246 转载需授权!

分享到:

版权声明:本文由廖万里的博客发布,如需转载请注明出处。


“Spring框架提供的多种属性注入方式” 的相关文章

pyton打包成exe程序简易教程

我们知道,Python程序需要有python环境才能够运行的,但当我们开发出一个程序之后,给到用户 那么用户是不会去添加这个python环境的。 所以为了用户也能够正常使用,我们就需要将这个程序打包成exe程序。 location.href="https://blog.csd...

python如何连接mysql数据库

python链接mysql数据库要用到pymysql模块中的connect ,connect函数是pymysql模块中 用于连接MySQL数据库的一个函数。 所以连接mysql之前需要先导入pymysql模块 location.href="ht...

Python如何实现多线程,多线程概述

Python如何实现多线程,多线程概述

 线程:线程是CPU调度的基本单位,是进程中具体的执行单元。进程包含线程,一个进程中至少包含一个线程;如果一个进程中包含了多个线程,称为多线程。多线程的实现:编辑 1,引入threading模块。import threading import time2,编...

冷门信息差|今日头条项目首发日入过百

冷门信息差|今日头条项目首发日入过百

今日头条?项目微头条首发车费?:99? 转账抢位置!无脑简单玩法,跟发朋友圈一样。每天按照流程发作品,日入过百? 不赚包退微信:19528888767 备注来意...

如何将 Kali Linux 写入到U盘

如何将 Kali Linux 写入到U盘

我们需要用到的工具:至少需要一个大于8G的U盘(大点更好),Ventoy(U盘写入工具),一个Kali Linux镜像1.Kali Linux下载地址:https://www.kali.org/get-kali/#kali-installer-images2.U盘写入工具:https://...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。