Spring学习札记:第2节 属性注入方式以及模拟BeanFactory实现
2013-12-03 11:46
615 查看
属性注入方式大致有:
Setter注入
构造方法注入
注解注入
(1)java annotation
(2)spring annotation
下面使用MyEclipse完成一个Setter注入属性的实例。
1.建立一个JAVA Project,名字为:Spring_IocByEclipse
2.导入Spring核心包:Spring 3.0 Core Libraries
3.创建如下几个包及相应的类:
(1)实体包及相应的类
包:net.nw.vo
类:Students.java
(2)DAO包及相应的类
包:net.nw.dao(接口层)
类:StudentsDAO.java
(3)DAO实现包
包:net.nw.dao.impl,接口实现层
类:StudentsDAOImpl.java
(4)服务层包
包:net.nw.service
类:StudentsService.java
(5)配置applicationContext.xml
(6)测试类
建立一个源文件夹:test
建立一个测试包:net.nw.service
建立一个测试类:TestStudentsService.java
4.测试结果:
学号:2010101010
姓名:赵云
年龄:65
Setter注入
构造方法注入
注解注入
(1)java annotation
(2)spring annotation
下面使用MyEclipse完成一个Setter注入属性的实例。
1.建立一个JAVA Project,名字为:Spring_IocByEclipse
2.导入Spring核心包:Spring 3.0 Core Libraries
3.创建如下几个包及相应的类:
(1)实体包及相应的类
包:net.nw.vo
类:Students.java
package net.nw.vo; //学生类 public class Students { private String sid; //学号 private String sname; //姓名 private int age; //年龄 public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
(2)DAO包及相应的类
包:net.nw.dao(接口层)
类:StudentsDAO.java
package net.nw.dao; import net.nw.vo.Students; public interface StudentsDAO { //保存学生 public boolean saveStudents(Students s); }
(3)DAO实现包
包:net.nw.dao.impl,接口实现层
类:StudentsDAOImpl.java
package net.nw.dao.impl; import net.nw.dao.StudentsDAO; import net.nw.vo.Students; public class StudentsDAOImpl implements StudentsDAO { @Override public boolean saveStudents(Students s) { // TODO Auto-generated method stub if(s!=null){ System.out.println("学号:"+s.getSid()); System.out.println("姓名:"+s.getSname()); System.out.println("年龄:"+s.getAge()); return true; }else{ return false; } } }
(4)服务层包
包:net.nw.service
类:StudentsService.java
package net.nw.service; import net.nw.dao.StudentsDAO; import net.nw.vo.Students; public class StudentsService { private StudentsDAO sDao; public StudentsDAO getsDao() { return sDao; } public void setsDao(StudentsDAO sDao) { this.sDao = sDao; } //保存学生 public boolean saveStudents(Students s){ if(sDao.saveStudents(s)){ return true; }else{ return false; } } }
(5)配置applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <bean name="students" class="net.nw.vo.Students"/> <bean name="studentsDAO" class="net.nw.dao.impl.StudentsDAOImpl"/> <bean name= "studentsService" class="net.nw.service.StudentsService"> <property name="sDao" ref="studentsDAO"></property> </bean> </beans>
(6)测试类
建立一个源文件夹:test
建立一个测试包:net.nw.service
建立一个测试类:TestStudentsService.java
package net.nw.service; import net.nw.vo.Students; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import junit.framework.Assert; import junit.framework.TestCase; public class TestStudentsService extends TestCase{ public void testSaveStudents(){ ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); Students s = (Students)ctx.getBean("students"); s.setSid("2010101010"); s.setSname("赵云"); s.setAge(65); StudentsService sService = (StudentsService)ctx.getBean("studentsService"); Assert.assertEquals(true, sService.saveStudents(s)); } }
4.测试结果:
学号:2010101010
姓名:赵云
年龄:65
相关文章推荐
- Spring学习笔记(8)----属性注入的方式
- spring学习(五)—通过注解方式创建对象和注入属性
- Spring学习(五)-----注入bean属性的三种方式( 1: 正常的方式 2: 快捷方式 3: “p” 模式)
- lesson one:spring ioc,属性注入方式,实现自己的beanfactoy
- Spring连接数据库的方式1:利用Spring实现bean属性setter方式注入
- Spring中属性注入的几种方式以及复杂属性的注入详解
- Spring学习笔记(8)----属性注入的方式
- 模拟spring,自定义容器二(注解实现属性注入)
- Spring实现控制反转(IOC)的三种方式(一)——属性注入
- Spring中属性注入的几种方式以及复杂属性的注入
- Spring中属性注入的几种方式以及复杂属性的注入
- 利用SPring实现bean属性setter方式注入
- spring学习一——基本搭建,属性注入的两种方式
- Spring属性注入、构造方法注入、工厂注入以及注入参数(转)
- ######Spring第5天ssh整合(注解版)难理解知识点:【自定义 方法加注解的方式】给dao注入sessionFactory属性+【搞清@Autowared和@Resource含义】
- (5) 编码剖析Spring装配基本属性的原理【附加:注入依赖对象的两种方式】
- Spring学习---(1)注解方式实现AOP编程
- 依赖、依赖倒转原则、IoC/依赖注入、以及在Spring中的实现
- Spring4-三种方式注入值到 bean 属性