一、Spring配置文件注入

package com.zxguan.demo;

public class Person {

    private String name;

    private int age;

    public Person() {
} public Person(String name, int age) {
super();
this.name = name;
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}

  1、属性注入:

    1)bean中一定要有无参构造方法

    2)使用配置文件注入时,只检查配置属性对应的setter方法是否都能在bean中找到,而不要求属性

    <bean id="person" class="com.zxguan.demo.Person">
<property name="name">
<value>zhangsan</value>
</property>
<property name="age">
<value>10</value>
</property>
</bean>

  2、接口注入:配置信息与属性注入一致,bean实现的接口的方法中用到注入的属性或对象

    1)bean中一定要有无参构造方法

  3、构造方法注入:

    1)将 类型(type),索引(index)相结合使用,使配置指定的顺序、类型与构造参数顺序、类型一致;

  <bean id="person" class="com.zxguan.demo.Person">
<constructor-arg type="java.lang.String" index="0">
<value>zhangsan</value>
</constructor-arg>
<constructor-arg type="int" index="1">
<value>10</value>
</constructor-arg>
</bean>

    2)反射注入,配置顺序与构造方法参数顺序必须一致

    <bean id="person" class="com.zxguan.demo.Person">
<constructor-arg>
<value>zhangsan</value>
</constructor-arg>
<constructor-arg>
<value>10</value>
</constructor-arg>
</bean>

  注意:

  1、spring使用配置文件注入时,setter方法是必须的(不需要getter,spring只做注入)

  2、变量的前两个字幕要不全部大写,要不全部小写,否则注入出错

  3、构造方法注入,如果有两个对象相互引用,那么会造成循环依赖。解决方法:改为属性注入

二、注入参数

  1、字面量:可用字符串表示的值,通过<value>标签进行注入。默认情况下,基本数据类型及其封装类、String类都可采用字面量注入。

  2、XML中共有5个特殊符号:<、>、&、“、',包含这5个特殊字符的用<![CDATA[xxx]]>包起来,或者用转义字符特换

  3、<NULL>单独的一个标签,不与<VALUE>混用。

  特别注意:

  一般情况下,XML解析器会忽略元素前后的空格,而Spring却不会忽略。

Spring 配置文件注入的更多相关文章

  1. spring配置文件注入到静态变量

    spring配置注入到静态文件代码如下: package com.test.oss; import org.springframework.beans.factory.annotation.Value ...

  2. spring boot-5.配置文件注入

    配置文件注入这一部分内容主要有以下几点内容: 1.全局配置文件值注入 2.自定义配置文件值注入 3.自定义的Spring 配置文件生效 (1)首先介绍全局配置文件的值注入,全局配置文件值注入有两种方式 ...

  3. Spring 通过配置文件注入 properties文件

    当我们需要将某些值放入 properties文件 key=value 的方式,获取文件信息使用spring 注入的方式会变得很便捷 1. spring 配置文件需要导入 <?xml versio ...

  4. Spring配置文件解析--依赖注入

    1.构造器注入基于构造器的DI通过调用带参数的构造器来实现,每个参数代表着一个依赖.此外,还可通过给stattic工厂方法传参数来构造bean.构造器参数解析根据参数类型进行匹配,如果bean的构造器 ...

  5. Spring学习笔记--Spring配置文件和依赖注入

    Spring配置文件 1.alias:设置别名,为bean设置别名,并且可以设置多个别名; <!-- 设置别名 --> <alias name="user" al ...

  6. Spring根据XML配置文件注入对象类型属性

    这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...

  7. Spring根据XML配置文件注入属性 其实也是造bean,看看是使用constructor还是setter顺带完成属性赋值

    方法一使用setter方法 package com.swift; public class Book { private String bookName; public void setBook(St ...

  8. Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件

    1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...

  9. Spring中使用事务搭建转账环境方法二 相对简便的注解方法 ——配置文件注入对象属性需要setter方法 注解方法,不需要生成setter方法

    XML配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

随机推荐

  1. 17.树的子结构 Java

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 思路 双递归:外层HasSubtree是一个先根遍历递归,内层isDirectSubTree是一个 ...

  2. OUC_Summer Training_ DIV2_#7 718

    是18号做的题啦,现在才把报告补上是以前不重视报告的原因吧,不过现在真的很喜欢写报告,也希望能写一些有意义的东西出来. A - Dragons Time Limit:2000MS     Memory ...

  3. 整合spring boot时操作数据库时报错Caused by: java.lang.InstantiationException: tk.mybatis.mapper.provider.base.B

    原文:https://blog.csdn.net/u__f_o/article/details/82756701 一般出现这种情况,应该是没有扫描到对应的mapper包,即在启动类下配置MapperS ...

  4. 线性dp,分层图思想

    题目大意:给你一串数字,一串运算符,求递推用完运算符时答案的最大值----->线性dp dp[i][j] i表示所用数字的个数   j表示所用字符的个数 分层图思想 所有字符必须用完 所以取最后 ...

  5. QString介绍

    QString stores a string of 16-bit QChars, where each QChar corresponds one Unicode 4.0 character. 一. ...

  6. C++ UFT-8和GB2312间的转换

    在这个帖子找到的代码 还蛮好用的 https://bbs.csdn.net/topics/391040755 #include <codecvt> #include <locale& ...

  7. LC 377. Combination Sum IV

    Given an integer array with all positive numbers and no duplicates, find the number of possible comb ...

  8. JavaScript中原型链存在的问题解析

    我们知道使用原型链实现继承是一个goodway:)看个原型链继承的例子. function A () { this.abc = 44; } A.prototype.getAbc = function ...

  9. Springboot将mybatis替换为mybatis-plus

    知识点: 1.Mybatis-plus相比mybatis,功能更加强大,简而言之,不需要我们去写mapper.xml配置,但是对于特殊需求的sql语句,还是需要写mapper.xml文件中的sql语句 ...

  10. 创建使用Spring Boot

    Spring Boot 创建项目 Spring Initializr 创建完成会自动下载 解压后 Idea导入 修改国内镜像 网络不够强的话停掉自动更新 build.gradle 加上 reposit ...