Spring - constructor-arg和property
1、说明
constructor-arg:通过构造函数注入。
property:通过setter对应的方法注入。
2、constructor-arg的使用示例
(1)、Model代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public class Student { private Integer id; private String name; private List<String> dream; private Map<String, Integer> score; private boolean graduation; public Student() { } public Student(Integer id, String name, List<String> dream, Map<String, Integer> score, boolean graduation) { this .id = id; this .name = name; this .dream = dream; this .score = score; this .graduation = graduation; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", dream=" + dream + ", score=" + score + ", graduation=" + graduation + "]" ; } } |
(2)、xml配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
< bean id = "student" class = "com.rc.sp.Student" > < constructor-arg name = "id" value = "1" /> < constructor-arg name = "name" value = "student" /> < constructor-arg name = "dream" > < list > < value >soldier</ value > < value >scientist</ value > < value >pilot</ value > </ list > </ constructor-arg > < constructor-arg name = "score" > < map > < entry key = "math" value = "90" /> < entry key = "english" value = "85" /> </ map > </ constructor-arg > < constructor-arg name = "graduation" value = "false" /> </ bean > |
说明:<
constructor-arg
name
=
"id"
value
=
"1"
/>也可以改成
<
constructor-arg
index
=
"0"
value
=
"1"
/>方式;boolean的值既可以用0/1填充,也可以用true/false填充。
3、property的使用示例
(1)、Model代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class Teacher { private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } @Override public String toString() { return "Teacher [id=" + id + ", name=" + name + "]" ; } } |
(2)、xml配置:
1
2
3
4
|
< bean id = "teacher" class = "com.rc.sp.Teacher" > < property name = "id" value = "1" ></ property > < property name = "name" value = "teacher" ></ property > </ bean > |
4、Test
(1)、测试代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
public class Run { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml" ); Student student = (Student) context.getBean( "student" ); System.out.println(student); Teacher teacher = (Teacher) context.getBean( "teacher" ); System.out.println(teacher); } } |
(2)、输出结果:
Student [id=1, name=student, dream=[soldier, scientist, pilot],
score={math=90, english=85}, graduation=false]
Teacher [id=1, name=teacher]
Spring - constructor-arg和property的更多相关文章
- Spring 中出现Element : property Bean definitions can have zero or more properties. Property elements correspond to JavaBean setter methods exposed by the bean classes. Spring supports primitives, refer
在这个ApplicationContext.xml文件中出现 如下报错 Element : property Bean definitions can have zero or more proper ...
- spring 的配置 bean>>property>>name属性
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Spring整合Mybatis解决 Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
在Spring4和Mybatis3整合的时候,dao层注入'sqlSessionFactory'或'sqlSessionTemplate'会报错解决办法如下: package com.alibaba. ...
- 配置Spring Security 错误:Property or field 'ROLE_USER' cannot be found
在学习http://www.mkyong.com/spring-security/spring-security-hello-world-example/时,出现以下错误: Property or f ...
- spring的xml的property和constructor-arg的解析
参考文档: http://zzy7182.iteye.com/blog/1153473
- 100个高频Spring面试题
译 原文:https://www.javacodegeeks.com/2014/05/spring-interview-questions-and-answers.html A:Spring概览 ...
- spring cuowu
spring常见错误总结 在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结,希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with nam ...
- spring入门常见的问题及解决办法
在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结,希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with name 'helloServi ...
- spring错误汇总
在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结.希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with name 'helloServi ...
- 【转】spring 装配Bean中构造参数的注入
转载自:http://www.bianceng.cn/Programming/Java/201307/37027.htm spring 装配Bean中构造参数的注入 spring装配bean中还有一种 ...
随机推荐
- Android基础之Activity四种启动模式
这东西是最基础的,发现自己其实没有真正试过,好好研究研究 standard :默认, singleTop :大体上同standard,但是当该Activity实例已经在task栈顶,不再创建新的实例, ...
- [转]windows 短文件名/短路径名规则
How Windows Generates 8.3 File Names from Long File Names Windows generates short file names from lo ...
- NDK问题总结
转自 这篇文章中很多东西!!:http://blog.chinaunix.net/uid-20746260-id-3910616.html 1. 创建JNI头文件 在工程目录下输入: javah -c ...
- ios 给图片添加水印
//第一种添加水印方法 -(UIImage *)watermarkImage:(UIImage *)img withName:(NSString *)name{ NSString* mark = na ...
- win10 MySQL启动失败问题
系统升级到win10之后,本地装的MySQL却突然不能启动,系统显示明明就有,可是总是启动失败.在这里解决一下: 解决win10 mysql服务消失,连接不上的问题,注意:以管理员身份运行DOS命令 ...
- C#小程序飞行棋地图绘制
1. 初始化地图,在绘制时可先将地图进行初始化,用数组来存储关卡的位置,然后利用循环给地图中 关卡所在处赋予代表关卡的值. 关键代码如下 /// <summary> /// 初始化游戏地图 ...
- 再见OI
NOIP2016终章 自己弱还脑残加手残 再见OI 你好高考 你好明天 "没有泪水的日子会轻松很多 但我的心还是会痛" ------------------------------ ...
- python 面试必读
总结了10道题的考试侧重点,供参考: 1.How are arguments passed – by reference of by value? 考的是语法,基本功,虽说python程序员可以不用关 ...
- Android驱动开发之Hello实例
Android驱动开发之Hello实例: 驱动部分 modified: kernel/arch/arm/configs/msm8909-1gb_w100_hd720p-perf_defconf ...
- 用php怎么改文件名
php手册:bool rename ( string oldname, string newname [, resource context] )尝试把 oldname 重命名为 newname. 如 ...