三种属性注入方式

构造函数注入

1、在Bean实体中写入构造函数(带参构造)

2、

<bean id=”该bean的名称” class=”注入的bean的全路径”>

         <constructor name=”属性名” value=”属性值”/>

         < constructor name=”属性名” ref=”其他Bean对象id”/>

</baen>
属性setter方法注入(使用最多)

1、在Bean实体中写入setter方法

2、

<bean id=”该bean的名称” class=”注入的bean的全路径”>

        <property name=”属性名” value=”属性值”/>

        <property name=”属性名” ref=”其他Bean对象id”/>

</baen>
接口注入(不推荐,spring不支持)

Spring属性注入简化写法

P名称空间注入

简化XML文件配置,spring从2.5开始引入新的p名称空间

1、  引入p名称空间:

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

2、  配置引入文件

引入普通属性:

<bean id=”该bean的名称” class=”注入的bean的全路径” p:属性名=”属性值”/baen>

引入类对象属性:

<bean id=”该bean的名称” class=”注入的bean的全路径” p:ref-属性名=”属性值”/baen>
SpEL注入

语法:

<bean id=”该bean的名称” value=”#{表达式}”/>

语言:

1、#{‘hello’}:使用字符串

2、#{beanId}:使用其他Bean对象

3、#{beanId.content.toUpperCase()}:使用其他Bean对象属性,并使用其方法

4、#{T(java.lang.Math).PI}:使用静态字段或方法

Spring expression language(spring表达式语言,对依赖注入进行简化)

复杂类型的属性注入

使用范围:整合其他框架

数组类型
<property name=”属性名” >

      <list>

          <value>数组的第一个值</value>

          <value>数组的第二个值</value>

           …

     </list>

</property>        
List集合
 <property name=”属性名” >

      <list>

            <value>list的第一个值</value>

            <value>list的第二个值</value>

            …

      </list>

</property>    
Set集合
<property name=”属性名” >

        <set>

            <value>set的第一个值</value>

            <value>set的第二个值</value>

            …

        </set>

</property>
Map集合
<property name=”属性名” >

       <map>

             <entry key=”map的key” value=”map的value”/ >

             <entry key=”map的key” value=”map的value” / >

              …

       </map>

</property>    
Properties集合
<property name=”属性名” >

       <props>

             <prop key=” prop的key” >value</prop>

             < prop key=” prop的key” >value</prop>

              …

      </ props>

</property>

spring-bean(xml方式DI)的更多相关文章

  1. 04_IOC容器装配Bean(xml方式)

    IOC容器装配Bean(xml方式) 1.Spring 提供配置Bean三种实例化方式 1)使用类构造器实例化(默认无参数) <bean id="bean1" class=& ...

  2. Spring基于XML方式的使用

    一.IoC配置 IoC的配置是通过Spring的xml文件的bean标签进行的. 1.bean标签介绍 bean标签一般是在xml文件进行配置的,xml文件一般样式如下: <?xml versi ...

  3. 【Spring】XML方式实现(无参构造 有参构造)和注解方式实现 IoC

    文章目录 Spring IoC的实现方式 XML方式实现 通过无参构造方法来创建 1.编写一个User实体类 2.编写我们的spring文件 3.测试类 UserTest.java 4.测试结果 通过 ...

  4. Spring bean注入方式

    版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5619525.html  Spring bean提供了3中注入方式:属 ...

  5. Spring通过XML方式实现定时任务

    package com.wisezone.service; import java.text.SimpleDateFormat; import java.util.Date; import org.s ...

  6. Spring基于XML方式加载Bean定义信息(又名:Spring IOC源码时序图)-图解

  7. spring bean实例化方式

    注意:xml配置中bean节点下scope属性默认值为singleton(单例),在需要多例的情况下需要配置成prototype spring提供三种实例化方式:默认构造.静态工厂.实例工厂 一.默认 ...

  8. Spring Bean装配方式

    Spring装配机制 在xml中进行显示配置 在Java中进行显示配置 隐式bean发现机制和自动装配 自动化装配bean 组件扫描(component scanning),Spring会自动发现应用 ...

  9. spring bean.xml

    http://blog.csdn.net/lanshengsheng2012/article/details/9011635

随机推荐

  1. Kure讲HTML_如何学习HTML

    HTML即是超文本标记语言,它主要是用来构建网页的轮廓的.HTML自身包含了众多的API(应用程序接口:即HTML暴露给Web前端开发者的语言特性,当然作为开发者就应该更多的关注这个.)话不多说,直接 ...

  2. Javascript 学习之数组 Array

    数组在Javascript中占有很重要的地位.任何控件开发离不开数组的使用. 构造函数 new Array( ) new Array(size) new Array(element0, element ...

  3. Devexpress GridControl使用

    //不显示内置的导航条.            gc1.UseEmbeddedNavigator = false;             //不显示分组的面板            gv1.Opti ...

  4. Hosted Services+Quartz实现定时任务调度

    背景 之前.net core使用quartz.net时,总感觉非常变扭,百度和谷歌了N久都没解决以下问题,造成代码丑陋,非常不优雅: 1.项目启动时,要立刻恢复执行quartz.net中的任务 2.q ...

  5. 从零开始的全栈工程师——js篇(作用域 this 原型笔试题练习)

    作用域 // 1. fn() function fn () { console.log(12) } var as = function () { console.log(45) } // 2. var ...

  6. #include stdio.h(6)

    #include <stdio.h> int main() { //**************3.字符数组************** ] = {'i','P','\0','o','n' ...

  7. 让你的sharepoint2013具有EMS快递查询的功能

    <iframe name="kuaidi100" src="http://www.kuaidi100.com/frame/app/index2.html" ...

  8. FinFET简介

    什么是FET? FET 的全名是“场效电晶体(Field Effect Transistor,FET)”,先从大家较耳熟能详的“MOS”来说明.MOS 的全名是“金属-氧化物-半导体场效电晶体(Met ...

  9. 域名指向新的服务器IP后不能访问的解决办法

    不能访问是因为本地DNS缓存,缓存清除方法:dos命令窗口输入ipconfig/flushdns ,回车即可.

  10. JavaScript Date对象方法详细总结

    Date 对象方法 方法 描述 Date() 返回当日的日期和时间. getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31). getDay() 从 Date 对象返回一周中的某 ...