Spring(九)—— 参数注入,构造方法讲解

一、示例代码如下

1. Student.java

 1 package com.gyf.model;
 2 
 3 public class Student {
 4     private String username;
 5     private String password;
 6     private Integer age;
 7 
 8     public Student() {
 9     }
10 
11     public Student(String username, String password) {
12         this.username = username;
13         this.password = password;
14     }
15 
16     public Student(String username, Integer age) {
17         this.username = username;
18         this.age = age;
19     }
20 
21     @Override
22     public String toString() {
23         return "Student{" +
24                 "username='" + username + '\'' +
25                 ", password='" + password + '\'' +
26                 ", age=" + age +
27                 '}';
28     }
29 }

 

2. beans6.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="
 5 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 6     <!--构造方法注入属性值-->
 7     <!--配置一个bean,通过构造方法注入参数-->
 8     <bean id="stu" class="com.gyf.model.Student">
 9         <constructor-arg name="username" value="admin"></constructor-arg>
10         <constructor-arg name="password" value="123456"></constructor-arg>
11         <!--引用另一个bean时通知-->
12         <!--<constructor-arg name="" ref=""></constructor-arg>-->
13     </bean>
14 
15     <bean id="stu2" class="com.gyf.model.Student">
16         <!---->
17         <constructor-arg index="0" value="admin" type="java.lang.String"></constructor-arg>
18         <constructor-arg index="1" value="17" type="java.lang.Integer"></constructor-arg>
19     </bean>
20 </beans>

 

3. Lesson06.java

 1 package com.gyf.test;
 2 
 3 import com.gyf.model.Student;
 4 
 5 import org.junit.Test;
 6 import org.springframework.context.ApplicationContext;
 7 import org.springframework.context.support.ClassPathXmlApplicationContext;
 8 
 9 public class Lesson06 {
10 
11     @Test
12     public void test1(){
13         /**
14          * 给bean属性赋值的三种方式
15          * 第一种方式:构造方法
16          */
17         ApplicationContext context = new ClassPathXmlApplicationContext("beans6.xml");
18         Student stu = (Student) context.getBean("stu");
19         Student stu2 = (Student) context.getBean("stu2");
20         System.out.println(stu);
21         System.out.println(stu2);
22     }
23 }

 

posted @ 2020-08-30 17:30  海边拾贝seebit  阅读(703)  评论(0)    收藏  举报