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

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

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

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框架提供的多种属性注入方式” 的相关文章

如何选择服务器?大厂与小厂的区别是什么

如何选择服务器?大厂与小厂的区别是什么

什么云服务器好?这个无法以偏概全的直接指定一家服务商,针对云服务器的选择自己有些建议可以供您参考:首先,要了解自己的业务具体是什么?应用场景是什么?对于安全要求又是什么?其实上云是大势所趋,在前几年大家对于云的使用可能更关注于安全,在当前网络安全快速发展的今天,大可以放开安全这个层面的东西,去考虑使...

Python所有的库都在这里了!!强烈建议收藏

Python所有的库都在这里了!!强烈建议收藏

前言嗨喽,大家好呀~又到了学Python时刻~随着大数据和人工智能的发展,Python也与多种科技深深绑定。比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端开发,云计算,游戏开发都有涉及。万丈高楼平地起,Python这座大厦能够如此强大,就是拥有强大的成千上万的库的支持无数牛x的轮子在...

python如何连接mysql数据库

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

使用Python制作电脑无限弹窗恶搞程序教程

使用Python制作电脑无限弹窗恶搞程序教程

 效果如下:编辑演示视频:python弹窗恶搞程序演示视频 教程:1,导入模块,下载模块的方法不过多说明了,可以看我其他的文章有说怎么下载第三方模块,或者Alt+Enter下载也可。# 弹窗恶搞import tkinter as tkimp...

pyton打包成exe程序简易教程

pyton打包成exe程序简易教程

 我们知道,Python程序需要有python环境才能够运行的,但当我们开发出一个程序之后,给到用户 那么用户是不会去添加这个python环境的。所以为了用户也能够正常使用,我们就需要将这个程序打包成exe程序。1.打包之前需要先下载一个模块:pyinstaller方法一:pip包安装:因...

发表评论

访客

看不清,换一张

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