文章标题Spring的依赖注入和反转
2015-11-30 21:35
423 查看
1.导入jar包
2.添加spring的配置文件applicationContext.xml其中代码如下
3.spring是面向接口编程在dao层编写接口代码如下
则其实现类为teacher和student类如下
在action层可以添加useraction如下
其中需要注入的需要实现其set方法。可以注入对象,字段,集合等。则实现其依赖注入。
在其实现中的代码如下
2.添加spring的配置文件applicationContext.xml其中代码如下
<bean name="teacher" class="cn.entity.Teacher"/> <bean name="student" class="cn.entity.Student"/> <bean name="useraction1" class="cn.action.UserAction"> <property name="person" ref="student"/> <property name="name" value="xx"/> <property name="address" value="洛阳"/> <property name="age" value="30"/> <property name="list"> <list> <value>hello</value> <value>goodbye</value> <value>nice</value> </list> </property> <property name="map"> <map> <entry> <key> <value>china</value> </key> <value>中国</value> </entry> <entry> <key> <value>usa</value> </key> <value>美国</value> </entry> </map> </property> </bean> <!--构造方法方法注入 <bean name="useraction2" class="cn.action.UserAction"> <constructor-arg ref="teacher"/> <constructor-arg value="xx"/> <constructor-arg value="洛阳"/> <constructor-arg value="30"/> </bean> --> <!-- <bean name="useraction3" class="cn.action.UserAction" p:name="xx" p:address="洛阳" p:age="30" p:person-ref="teacher"/> --> </beans>
3.spring是面向接口编程在dao层编写接口代码如下
public interface Person { public void say(); }
则其实现类为teacher和student类如下
package cn.entity; import java.util.Map; public class Student implements Person{ public void say() { System.out.println("老师好"); } }
package cn.entity; import java.util.List; public class Teacher implements Person { public void say() { System.out.println("同学们好"); } }
在action层可以添加useraction如下
public class UserAction { Person person; String name; String address; Integer age; List list; Map map; String s[]; public List getList() { return list; } public Map getMap() { return map; } public String[] getS() { return s; } public void setList(List list) { this.list = list; } public void setMap(Map map) { this.map = map; } public void setS(String[] s) { this.s = s; } public Person getPerson() { return person; } public String getName() { return name; } public String getAddress() { return address; } public Integer getAge() { return age; } public void setPerson(Person person) { this.person = person; } public void setName(String name) { this.name = name; } public void setAddress(String address) { this.address = address; } public void setAge(Integer age) { this.age = age; } public UserAction(String name, String address, Integer age) { super(); this.name = name; this.address = address; this.age = age; } public UserAction() { super(); } public UserAction(Person person, String name, String address, Integer age) { super(); this.person = person; this.name = name; this.address = address; this.age = age; } public UserAction(String name, Integer age) { super(); this.name = name; this.age = age; } public void say(){ person.say(); }
其中需要注入的需要实现其set方法。可以注入对象,字段,集合等。则实现其依赖注入。
在其实现中的代码如下
ApplicationContext ac=new ClassPathXmlApplicationContext("/applicationContext.xml");//读取xml文档。 UserAction ua=(UserAction)ac.getBean("useraction1"); //得到其被注入的类。
相关文章推荐
- java.lang.Void类
- Java SE-最全的单例模式详解
- 【Java】Java之经典循环小例子
- java基础学习——变量,java基本类型,运算符和表达式笔试题
- java中interface的详解
- Eclipse文档注释生成doc方法
- Struts2——MethodFilterInterceptor--方法拦截器
- javamail发送邮件
- Java数组操作集合
- java中native修饰符
- JAVAWEB之自定义TAG开发
- Java开发经验记录
- 使用eclipse时,jvm错误
- spring事务回滚
- java环境配置
- 1.12 JTA(java transaction API)
- HDOJ 1000 java版
- SpringMVC配置及初级入门11_30
- Java基础之面向过程
- Spring Bean工厂继承关系和源码分析