Spring 配置文件注入
一、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 配置文件注入的更多相关文章
- spring配置文件注入到静态变量
spring配置注入到静态文件代码如下: package com.test.oss; import org.springframework.beans.factory.annotation.Value ...
- spring boot-5.配置文件注入
配置文件注入这一部分内容主要有以下几点内容: 1.全局配置文件值注入 2.自定义配置文件值注入 3.自定义的Spring 配置文件生效 (1)首先介绍全局配置文件的值注入,全局配置文件值注入有两种方式 ...
- Spring 通过配置文件注入 properties文件
当我们需要将某些值放入 properties文件 key=value 的方式,获取文件信息使用spring 注入的方式会变得很便捷 1. spring 配置文件需要导入 <?xml versio ...
- Spring配置文件解析--依赖注入
1.构造器注入基于构造器的DI通过调用带参数的构造器来实现,每个参数代表着一个依赖.此外,还可通过给stattic工厂方法传参数来构造bean.构造器参数解析根据参数类型进行匹配,如果bean的构造器 ...
- Spring学习笔记--Spring配置文件和依赖注入
Spring配置文件 1.alias:设置别名,为bean设置别名,并且可以设置多个别名; <!-- 设置别名 --> <alias name="user" al ...
- Spring根据XML配置文件注入对象类型属性
这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...
- Spring根据XML配置文件注入属性 其实也是造bean,看看是使用constructor还是setter顺带完成属性赋值
方法一使用setter方法 package com.swift; public class Book { private String bookName; public void setBook(St ...
- Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件
1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...
- Spring中使用事务搭建转账环境方法二 相对简便的注解方法 ——配置文件注入对象属性需要setter方法 注解方法,不需要生成setter方法
XML配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
随机推荐
- Bootstrap4项目开发实战视频教程
一.企业网站项目 课件 0.课程简介 1.顶部区域的制作 2.导航区域的制作 3.轮播区域的制作 4.产品区域的制作 5.最新资讯区域的制作 6.底部区域的制作 二.化妆品网站项目 1.项目初始化_导 ...
- Failed to execute aapt
Failed to execute aapt 没错,看到这个表示你的资源出错了.不用想别的. 比如: Failed to execute aapt com.android.ide.common.pro ...
- P1241 括号序列
P1241 括号序列 题解 谁解释下标签递推是个什么鬼,应该是暴力 数据比较小直接跑暴力 但是注意题目描述 也就是说: [ ( ] ) 是不合法的 补全应该是 [ ] ( [ ] ) 举个栗子: 比如 ...
- Log统一管理类
import android.util.Log; /** * Log统一管理类 */ public class L{ private L(){ /* cannot be instantiated */ ...
- PCL中有哪些可用的PointT类型(3)
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=268 PointXYZRGBNormal - float x, y, z, ...
- php+UEditor粘贴word
最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...
- Vim/gVim 中文显示为乱码的解决办法
打开vimrc文件,在vim的安装目录下可以找到该文件,或在windows下是在vim/gvim下输入:edit $vim/_vimrc. 在文件的末尾添加一句 "set fileencod ...
- SpringBoot: 4.SpringBoot整合listener(转)
整合方式一:通过注解扫描完成 Listener 组件的注册 1.编写listener package com.bjsxt.listener; import javax.servlet.ServletC ...
- 【笔记】Docker部署Odoo
一,制作一个自己的odoo镜像odoo:yto 1,下载一个odoo10的镜像 docker pull odoo:10.0 2,按照自己的意愿修改里面的内容 docker run -it -u roo ...
- 鸟哥私房菜基础篇:例行性工作排程 (crontab)习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0430cron.php 1-今天假设我有一个命令程序,名称为: ping.sh 这个档名!我想要让系统每 ...