(标注依稀)由于好久没去看spring的东西,以前的知道差不多都忘记了,今天重新学习一下如何使用,以后在慢慢的一个一个知识点的深究。我发现学过的东西还是要记录下来,否则以后又要重新找资料。纯属个人学习笔记。
一:依赖注入的方式
constructor-arg:通过构造函数注入。
property:通过setxx方法注入。
二:constructor-arg的简单使用
java代码
public class Man { private String name ; private int age; private List hobby; private Map friends; private Set set; private boolean ifMarried; public Man() { } public Man(String name, int age,List hobby,Map friends,Set set,boolean ifMarried){ this.name = name; this.age = age; this.hobby = hobby; this.friends = friends; this.set = set; this.ifMarried = ifMarried; } public String getInfo(){ String info = "姓名:"+this.name+"\n年龄:"+this.age+"\n爱好:"+this.hobby+"\n朋友:"+this.friends+"\n婚否:"+this.ifMarried+"\n其他的:"+this.set; return info; } }
xml配置文件
<bean id="man" class="com.spring.test.man.Man"> <constructor-arg value="zzy" index="0" > </constructor-arg> <constructor-arg value="10" index="1"> </constructor-arg> <constructor-arg> <list> <value>movie</value> <value>music</value> </list> </constructor-arg> <constructor-arg> <set> <value>Lady is GaGa</value> <value>GaGa is Lady</value> </set> </constructor-arg> <constructor-arg> <map> <entry key="liuhua" value="man"></entry> <entry key="xujinglei" value="female"></entry> </map> </constructor-arg> <constructor-arg index="5" value="0"> </constructor-arg> </bean>
最后一个参数ifMarried是一个boolean类型的参数,在配置的时候可以是true/false或者0/1;
二:property的简单使用
java代码:
public class Doctor { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public void init(){ System.out.println("88888888888"); } public void init(String name,String sex){ this.name = name; this.sex = sex; } }
xml配置文件:
<bean id="doctor" class="com.spring.test.man.Doctor" init-method="init"> <property name="name" value="doctor"></property> <property name="sex" value="i don't know"></property> </bean>
在这里我配置了一个init-method="init"表示在容易实例化这个doctor的时候,调用一个Doctor类的init方法,本来还以为可以通过这个init方法来注入要注入的信息,但是尝试过后才知道这个init方法是不能带参数的。
时间: 2024-09-30 17:06:45