Spring - constructor-arg和property的使用示例

一、说明
    constructor-arg:通过构造函数注入。 
    property:通过setter对应的方法注入。

二、constructor-arg的使用示例

    1、Model代码:

  1. public class Student {
  2. private Integer id;
  3. private String name;
  4. private List<String> dream;
  5. private Map<String, Integer> score;
  6. private boolean graduation;
  7. public Student() {
  8. }
  9. public Student(Integer id, String name, List<String> dream,
  10. Map<String, Integer> score, boolean graduation) {
  11. this.id = id;
  12. this.name = name;
  13. this.dream = dream;
  14. this.score = score;
  15. this.graduation = graduation;
  16. }
  17. @Override
  18. public String toString() {
  19. return "Student [id=" + id + ", name=" + name + ", dream=" + dream
  20. + ", score=" + score + ", graduation=" + graduation + "]";
  21. }
  22. }
    2、xml配置:

  1. <bean id="student"class="com.rc.sp.Student">
  2. <constructor-argname="id" value="1"/>
  3. <constructor-argname="name" value="student"/>
  4. <constructor-argname="dream">
  5. <list>
  6. <value>soldier </value>
  7. <value>scientist </value>
  8. <value>pilot </value>
  9. </list>
  10. </constructor-arg>
  11. <constructor-argname="score">
  12. <map>
  13. <entrykey="math" value="90"/>
  14. <entrykey="english" value="85"/>
  15. </map>
  16. </constructor-arg>
  17. <constructor-argname="graduation" value="false"/>
  18. </bean>
    说明:<constructor-arg name="id" value="1"/>也可以改成<constructor-arg index="0" value="1"/>方式;boolean的值既可以用0/1填充,也可以用true/false填充。


三、property的使用示例
    1、Model代码:

  1. public class Teacher {
  2. private Integer id;
  3. private String name;
  4. public Integer getId() {
  5. return id;
  6. }
  7. public void setId(Integer id) {
  8. this.id = id;
  9. }
  10. public String getName() {
  11. return name;
  12. }
  13. public void setName(String name) {
  14. this.name = name;
  15. }
  16. @Override
  17. public String toString() {
  18. return "Teacher [id=" + id + ", name=" + name + "]";
  19. }
  20. }
    2、xml配置:

  1. <bean id="teacher" class="com.rc.sp.Teacher">
  2. <property name="id" value="1"> </property>
  3. <property name="name" value="teacher"> </property>
  4. </bean>
四、Test
    1、测试代码:

  1. public class Run {
  2. public static void main(String[] args) {
  3. ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml");
  4. Student student = (Student) context.getBean( "student");
  5. System.out.println(student);
  6. Teacher teacher = (Teacher) context.getBean( "teacher");
  7. System.out.println(teacher);
  8. }
  9. }

    2、输出结果:

  1. Student [id=1, name=student, dream=[soldier, scientist, pilot],score={math=90, english=85}, graduation=false]
  2. Teacher [id=1, name=teacher]

猜你喜欢

转载自blog.csdn.net/jisuanji198509/article/details/80907523