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

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

如何在Linux中使用宝塔面板部署javaWeb项目

如何在Linux中使用宝塔面板部署javaWeb项目

最近在centos7.2上使用宝塔面板部署javaweb项目,在网上找的资料很少不全,我特意来总结一下。。。1、使用putty 进入Linux就不多说了2、进入宝塔官网https://www.bt.cn/3、选择在线安装 即可4、推荐使用Linux系统安装,Windows没有Linux系统...

java web js验证表单(不通过不提交后台)

java web js验证表单(不通过不提交后台)

Register.htmlform表单提交时什么也不填,从前台取到后台是空,不是null通过document的submit()方法<html>   <head>   <meta charset = ...

在mybatis中使用mysql存储过程-教学

在mybatis中使用mysql存储过程-教学

mysql  存储过程 ,教程来源:廖万里的CSDNMysql中的方法, 好处:安全,复用。缺点:不利于修改。1,将以下储存过程代码复制到mysql数据库中进行执行DELIMITER ;;CREATE DEFINER=`root`@`localhost`&nb...

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

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

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

如何在程序中实现多进程,多进程概述

如何在程序中实现多进程,多进程概述

 多进程:在一个程序中实现多任务处理,可以使用多线程和多进程两种方式。多进程创建:使用Process、类,每次实例化这个类的时候,就创建一个进程对象。编辑 多进程:一个程序运行中,产生了多个进程。N个正在运行的程序----至少N个程序1个程序------可能只有一个进程/也可能有...

pyton打包成exe程序简易教程

pyton打包成exe程序简易教程

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

发表评论

访客

看不清,换一张

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