Bean的装配方式
Bean的装配方式有三种,
1,通过xml方式装配,此种方式比较麻烦,但也是入门时候需要学习的内容;
2,通过annotation注解方式装配,此种方式是目前最常用的,要学习xml方式装配才能更好理解此种方式;
3,通过自动方式装配;
先从刚入门开始,在学习装配时要先掌握每种xml标签的作用—
1,通过xml方式装配–
①通过设值方式装配–案例演示
package com.test.one.charpterday1;
import java.util.Set;
public class Teacher implements Person {
private Student student;//setter注入,
public void setStudent(Student student) {
this.student=student; }
//设置Teacher属性
private String TeacherName;
private String TeachSubject;
private Set<String>TeacherHobby;
public Teacher() { //无参构造方法,这里演示是为了更清楚看到该构造方法,当类中无其他构造方法时会默认有一个无参构造
}
//SETTER方法省略,eclipse有自动生成getter和setter的方法
public String toString() {
return "我是-"+this.TeacherName+",教授-"+this.TeachSubject+","
+"我的爱好是-"+this.TeacherHobby;
}
@Override
public void Say() {
this.student.Say();
System.out.println("I am a goog teacher!!!"); }}
<!-- 往teacher类中注入学生类 -->
<bean id="teacher" class="com.test.one.charpterday1.Teacher" scope="singleton">
<property name="student" ref="student"/><!--ref表示引用的bean属性名-->
<property name="TeacherName" value="刘能"/><!--setter注入时要用 <property>标签-->
<property name= "TeachSubject" value ="语文"/><!-- name表示属性名,value表示属性值-->
<property name="TeacherHobby"><!--<set>标签表示java.util包中的集合,用于存放集合数据,<list>、<map>也用于存放集合-->
<set>
<value>"编程"</value>
<value>"乒乓球"</value>
<value>"健身"</value>
</set>
</property>
</bean>
②通过构造方式注入
public class Student implements Person {
private String StuName;//学生姓名
private int StuAge;//学生年龄
private char StuGender;//学生性别
private List <String>StuHobby;//学生爱好
public Student(String name,int age,char gender,List<String>list) {
this.StuName=name;
this.StuAge=age;
this.StuGender=gender;
this.StuHobby=list;
}
<bean id="student1" class="com.test.one.charpterday1.Student" scope="prototype">
<constructor-arg index="0" value="小红" /><!--构造注入时要用 <<constructor-arg>标签-->
<constructor-arg index="1" value="16" /><!-- index表示属性序号对应构造方法中的参数顺序,value表示属性值-->
<constructor-arg index="2" value="女" />
<constructor-arg index="3">
<list>
<value>"编程"</value>
<value>"乒乓球"</value>
<value>"健身"</value>
</list>
</constructor-arg>
</bean>
下图是运行结果结果–
完整代码请查看链接—
链接:https://pan.baidu.com/s/1PigyaG60mAwJ8ckkfQnmKw
提取码:jzja
复制这段内容后打开百度网盘手机App,操作更方便哦