设值注入:
先通过无参数的构造函数创建一个Bean实例,然后调用对应的setter方法注入依赖关系;
配置文件:

  1. <?xml version="1.0" encoding="GBK"?>
  2. <!-- Spring配置文件的根元素,使用spring-beans-4.0.xsd语义约束 -->
  3. <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns="http://www.springframework.org/schema/beans"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
  7. <bean id="chinese" class="org.crazyit.app.service.impl.Chinese">
  8. <property name="axe" ref="steelAxe"/>
  9. <property name="Stuname" value="zhangsan"/>
  10. </bean>
  11. <bean id="stoneAxe" class="org.crazyit.app.service.impl.StoneAxe"/>
  12. <bean id="steelAxe" class="org.crazyit.app.service.impl.SteelAxe"/>
  13. </beans>



构造注入:
直接调用有参数的构造器,当bean实例创建完成后,已经完成了依赖关系的注入;
配置文件

  1. <?xml version="1.0" encoding="GBK"?>
  2. <!-- Spring配置文件的根元素,使用spring-beans-4.0.xsd语义约束 -->
  3. <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns="http://www.springframework.org/schema/beans"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
  7. <bean id="chinese" class="org.crazyit.app.service.impl.Chinese">
  8. <constructor-arg ref="steelAxe" type="org.crazyit.app.service.Axe"/>
  9. <constructor-arg value="zhangsan" type="String"/>
  10. </bean>
  11. <bean id="stoneAxe" class="org.crazyit.app.service.impl.StoneAxe"/>
  12. <bean id="steelAxe" class="org.crazyit.app.service.impl.SteelAxe"/>
  13. </beans>

比较:
建议使用 设值注入;
对于依赖关系无需变化的注入,尽量采用构造注入;而其他依赖关系的注入,则优先考虑设值注入;

【Spring学习笔记-2.1】Spring的设值注入和构造注入的更多相关文章

  1. 【Spring学习笔记-0】Spring开发所需要的核心jar包

    spring开发所需要的核心jar 1. libs目录下的核心jar包: 2. common-logging-xxx.jar 来自为知笔记(Wiz) 附件列表

  2. 【Spring学习笔记-MVC-2】spring导出Excel

    说明: 1.结合Spring MVC实现Excel导出功能: 2. 在MVC配置文件中配置Excel视图解析器: 需要的jar包 以poi开头的jar包都是必须的 web.xml <?xml v ...

  3. 【Spring学习笔记-5】Spring中的抽象bean以及bean继承

    *.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...

  4. 【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码

    概述 spring MVC框架controller间跳转,需重定向,主要有如下三种: 不带参数跳转:形如:http://localhost:8080/SpringMVCTest/test/myRedi ...

  5. 【Spring学习笔记-MVC-15】Spring MVC之异常处理

    作者:ssslinppp       1. 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理 ...

  6. 【Spring学习笔记-MVC-14】Spring MVC对静态资源的访问

    作者:ssslinppp       参考链接: http://www.cnblogs.com/luxh/archive/2013/03/14/2959207.html  http://www.cnb ...

  7. 【Spring学习笔记-MVC-13】Spring MVC之文件上传

    作者:ssslinppp       1. 摘要 Spring MVC为文件上传提供了最直接的支持,这种支持是通过即插即用的MultipartResolve实现的.Spring使用Jakarta Co ...

  8. 【Spring学习笔记-MVC-12】Spring MVC视图解析器之ResourceBundleViewResolver

    场景 当我们设计程序界面的时候,中国人希望界面是中文,而美国人希望界面是英文. 我们当然希望后台代码不需改变,系统能够通过配置文件配置,来自己觉得是显示中文界面还是英文界面. 这是,Spring mv ...

  9. 【Spring学习笔记-MVC-10】Spring MVC之数据校验

    作者:ssslinppp       1.准备 这里我们采用Hibernate-validator来进行验证,Hibernate-validator实现了JSR-303验证框架支持注解风格的验证.首先 ...

  10. Spring学习笔记—最小化Spring XML配置

    自动装配(autowiring)有助于减少甚至消除配置<property>元素和<constructor-arg>元素,让Spring自动识别如何装配Bean的依赖关系. 自动 ...

随机推荐

  1. Java中如何正确的将byte[]数组转化为String类型?

    很多人在编程时,总是喜欢用一下方法将数组转为字符串:(a为byte数组) String s=a.toString(); 可是每次返回的时候,新手看来返回的结果是乱码,比如说我,写RSA算法时,没有注意 ...

  2. HDU 1907:John(尼姆博弈变形)

    John Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submi ...

  3. Python--异常处理和断言

    try关键字,定义获取程序错误 except关键字,出现异常错误执行里面的代码 Exception定义错误类,Exception能获取到所有类型的错误错误,as创建错误对象名称,自动获取错误信息 #! ...

  4. 安装排错 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    https://blog.csdn.net/cookzrk/article/details/80179006 转载:https://my.oschina.net/u/2510243/blog/8105 ...

  5. cifX驱动安装及SYCON.net的使用

    编程之路刚刚开始,错误难免,希望大家能够指出. cifX驱动安装及SYCON.net的使用 说明: 简单描述运行cifX的示例之前需要进行的准备,具体的主从站设置请自行查看DVD中的文档. 关于cif ...

  6. centos7部署phpipam(ip管理系统)

    安装必要的软件 yum install httpd mariadb-server php php-cli php-gd php-common php-ldap php-pdo php-pear php ...

  7. 数学与猜想 数学中的归纳和类比 (G. 波利亚 著)

    第一章 归纳方法 (已看) $1. 经验和信念 $2. 启发性联想 $3. 支持性联想 $4. 归纳的态度 第二章 一般化,特殊化,类比 (已看) $1. 一般化,特殊化,类比和归纳 $2. 一般化 ...

  8. 使用 FreeCAD 打开 KiCad 用于制作外壳

    使用 FreeCAD 打开 KiCad 用于制作外壳 先看导入后的结果. 步骤: 安装 FreeCAD 安装 KiCad StepUp Mod Addon 重启 FreeCAD(非常重要,不重启不生效 ...

  9. 为什么 PCB 生产时推荐出 Gerber 给工厂?

    为什么 PCB 生产时推荐出 Gerber 给工厂? 事情是这样的,有一天电工王工,画了一块 PCB,发给 PCB 板厂. 过了几天 PCB 回来了,一看不对呀,这里的丝印怎么少了,那里怎么多了几条线 ...

  10. 十二、springboot(七)打包启动

    1.打包 mvn clean package -Dmaven.test.skip=true2.运行 a.不能后台运行 java -jar 项目.jar     b.可后台运行        java ...