Spring注入 - 编程入门网
rDao;
}
public void setStudentService(StudentService stuService){
this.studentService=stuService;
}
public void setMaxStudents(int maxStudents){
this.maxStudents=maxStudents;
}
public int getMaxStudents(){
return maxStudents;
}
public Course getCourse(String id){
return courseDao.findById(id);
}
public void createCourse(Course course){
courseDao.create(course);
}
public void enrollStudentInCourse(Course course,Student stu) throws
CourseException{
if(course.getStudent().size()>=maxStudents){
throws new CourseException("Course is full");
}
enforcePrerequisites(course,student);
course.getStudent().add(student);
courseDao.update(course);
}
private void enforcePrerequisites(Course course,Student student) throws CourseException{
Set completed=
studentService.getCompletedCourse(student);
Set prereqs=course.getPrerequisites();
for(Iternate iter=prereqs.iterator(); iter.hashNext();){
if(!completed.contains(iter.next())){
throws new CourseException("Prerequisites are not met.")
}
}
}
}
和StudentServiceImpl一样,CoureseServiceImpl是通过它的构造函数接受CourseDao参数。CourseDao的实现是CourseDaoImpl。 enrollStudentInCourse()方法在把学生添加到课程中之前先要调用enforcePrerequisites()方法。如果学生不能满足先决条件,enforcePrerequisites()方法抛出CourseException,enrollStudentInCourse将重新抛出这个异常。 注意enforcePrerequisites()方法使用了StudentService实现类来获得一个学生的所有已完成课程。这意味着除了CourseDao,CoureseServiceImpl还要与StudentService合作一满足先决条件这个业务需求。CoureseServiceImpl通过setStudentService()方法得到它的 StudentService,不象courseDao是通过构造函数得到。这样做的原因是因为courseDao在CoureseServiceImpl中经常被用到,所以不应该在创建CoureseServiceImpl的时候还没有设置CourseDao属性。 Spring注入(3)时间:2011-01-27使用XML装配: 在Spring中,有几种容器都支持使用XML装配BEAN,包括: XMLBeanFactory:一种简单的BeanFactory,它用java.io.InputStream载入上下文定义文件。 ClassPathXmlApplicationContext:一种应用上下文,它从类路径中载入上下文定义文件。 FileSystemXmlApplicationContext:一种应用上下文,它从文件系统中载入上下文定义文件。 XmlWebApplicationContext:一种基于Spring的Web应用系统上下文,它从Web应用系统上下文中载入上下文定义文件。 所有这些面向XML的容器都使用非常简单的XML文件来定义BEAN。上下文定义文件的根元素是<beans></beans>.<beans>有多个<bea |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |