spring笔记--依赖注入之针对不同类型变量的几种注入方式

小编 2026-07-14 阅读:1489 评论:0
  控制反转和依赖注入讲的都是一个概念,只不过是站在了不同的角度,所谓的依赖注入:  是指在运行...

  控制反转和依赖注入讲的都是一个概念,只不过是站在了不同的角度,所谓的依赖注入:

  是指在运行期,由外部容器动态地将依赖对象注入到组件中。当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它。所以我们只需从容器直接获取Bean对象就行,而不用编写一句代码来创建bean对象。这种现象就称作控制反转,即应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。

  下面介绍各种类型属性的注入方式:

  新建实体类Student:

public class Student {    //基本数据类型的变量    private String name;    //对象类型的变量,Address类代码省略    private Address address;    //数组类型的变量    private String[] hobby;    //list类型的变量    private List<String> books;    //Map类型的变量    private Map<String,String> cards;    //set类型的变量    private Set<String> movies;    //Properties类型的变量    private Properties info;        public void show(){        System.out.println("name:"+name+"地址:"+address.getAddr());        System.out.println("爱好有:");        for(int i=0;i<hobby.length;i++){            System.out.println(hobby[i]);        }        System.out.println("喜欢的书籍:"+books);        System.out.println("拥有的银行卡"+cards);        System.out.println("喜欢的电影"+movies);        System.out.println("身份信息:"+info);    }//set方法省略}

配置文件beans.xml:

<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="address" class="com.wang.entity.Address"> <property name="addr" value="青岛"></property> </bean> <bean id="student" class="com.wang.entity.Student"> <!--配置基本数据类型 --> <property name="name" value="张三丰"></property> <!--配置对象类型 --> <property name="address" ref="address"></property> <!--配置数组类型 --> <property name="hobby" > <array> <value>吃饭</value> <value>睡觉</value> <value>打豆豆</value> </array> </property> <!--配置list类型 --> <property name="books"> <list> <value>时光旅行者的妻子</value> <value>白发魔女传</value> <value>谁的青春不迷茫</value> </list> </property> <!--配置map类型 --> <property name="cards"> <map> <entry key="农行卡" value="62284832128534"></entry> <entry key="建行卡" value="62284867867984"></entry> </map> </property> <!--配置set类型 --> <property name="movies"> <set> <value>疯狂动物城</value> <value>叶问3</value> <value>功夫熊猫</value> </set> </property>
<!--配置properties类型-->
<property name="info"> <props> <prop key="学号">20124280</prop> <prop key="班级">三年二班</prop> <prop key="性别">不详</prop> </props> </property> </bean></beans>

测试代码:

@Test    public void test1(){        ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");        Student s=(Student)context.getBean(Student.class);        s.show();    }

打印结果:

name:张三丰地址:青岛
爱好有:
吃饭
睡觉
打豆豆
喜欢的书籍:[时光旅行者的妻子, 白发魔女传, 谁的青春不迷茫]
拥有的银行卡{农行卡=62284832128534, 建行卡=62284867867984}
喜欢的电影[疯狂动物城, 叶问3, 功夫熊猫]
身份信息:{学号=20124280, 性别=不详, 班级=三年二班}

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表