项目中一种在用spring2.0,虽然2.5出来了很多新特性,但是一直没有时间实现,最近抽空做了一次尝试。spring mvc在系统中使用最多的就是Controller、MultiActionController和自定义的View了,Controller annotation的配置很简单,如下:
Service的配置
@Component
public class FooServiceImpl implements FooService {
//服务实现
}
Controller的配置
@Controller
@RequestMapping("/findStudent.do")
public class FindStudent {
private FooService fooService;
@Autowired
public FindStudent(FooService fooService) {
this.fooService = fooService;
}
@RequestMapping(type = "GET")
public String doGet(ModelMap model) {
//do Get
}
@RequestMapping(type = "POST")
public String doPost(@ModelAttribute("student") Student student, BindingResult result, ModelMap model) {
//do Post
}
@ModelAttribute("students")
public Collection<Student> allStudent(){
//返回collection
}
}
Controller的方法可以返回4种类型void,String,ModelMap,ModelAndView,其中String是ViewName,ModelMap是一个LinkHashMap,在Spring处理annotation的时候会利用ModelMap来构建一个ModelAndView往上返回。单一的Controller主要是用于Form Controller的,其它的一些使用和以前的功能一样,这里说下@ModelAttribute,它可以把标记返回的数据存储到以指定value为attributeName的request中,这样可以在页面里面使用<form:form modelAttribute="student">中快速获取值,不过我不建议在视图层使用spring tag,这个看个人情况了 ^ ^
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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package="blog.andyj.spring.annotation" />
</beans>
context:component-scan还包括一些更详细的配置,比如过滤包等等,这里就不详细描述了。以上是Controller的配置,这样系统中的xml文件是不是干净很多了,呵呵!其实我本人还是比较多的使用MultiActionController的,下面说下它的实现:
MultiActionController配置
@Controller
public class TestController {
@Autowired
private TestService testService;
@RequestMapping("/testHello.do")
public String hello(@RequestParam(value="name",required=true)String name,ModelMap model){
model.addAttribute("message",name);
return "forward:hello.jsp";
}
@RequestMapping("/testView.do")
public String go(){
return "testView";
}
public TestService getTestService() {
return testService;
}
public void setTestService(TestService testService) {
this.testService = testService;
}
}
多数的配置都是一样的,@RequestParam有两个值,value是从request来的parameterName这样我们就不用写request.getParameter("name"),直接在controller使用我们的变量name就可以了;required默认为false,允许request中没有name参数,如果改为true,当request.getParameter("name")为空的时候会抛出org.springframework.web.bind.MissingServletRequestParameterException异常,我们可以用exceptionViewResolver接住异常转到相应视图上。还有关于自定义的View实现也是和以前的实现一样
,在上面go()方法中我返回了"testView"的viewName,您只要像以前一样在xml文件里定义好View和ViewResolver就可以了。
最后,这里只是涉及了spring2.5中相关内容中非常少的一点,如果大家有兴趣深入了解可以参考spring reference。
分享到:
相关推荐
在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与Spring 2.5框架整合,并利用注解(Annotation)进行配置。DWR是一个允许JavaScript与Java服务器端进行交互的库,而Spring 2.5引入了对注解的强大支持,...
3300_Registration_11可能是一个示例项目,包含了上述整合的实例,包括Action、Service、DAO、配置文件等,开发者可以通过学习和运行这个项目来理解和实践Struts2、Hibernate3、Spring2.5的整合以及注解的使用。...
博文链接:https://pesome.iteye.com/blog/236273
6. **类型安全的集合注入**:在Spring 2.5中,可以使用泛型来指定集合类型的元素类型,Spring会自动检查注入的元素类型是否匹配,避免了运行时类型不匹配的问题。 7. **SpEL(Spring Expression Language)**:...
Struts2、Spring2.5和Hibernate3.0是Java Web开发中三个非常重要的框架,它们各自负责不同的职责,但可以协同工作以构建高效、可维护的Web应用程序。本项目整合了这三个框架,并利用注解(Annotation)进行配置,...
### 使用 Spring 2.5 基于注解驱动的 Spring MVC #### 概述与背景 自从Spring 2.0版本对Spring MVC框架进行了重大升级之后,Spring 2.5再次对该框架进行了显著改进,引入了注解驱动的功能。这使得开发人员能够更加...
Spring 2.5引入了更强大的依赖注入机制,允许通过注解(Annotation)来声明依赖,不再局限于XML配置。`@Autowired`注解可以自动装配bean,而`@Qualifier`则用于指定多个相同类型的bean中需要哪一个。这种改进使得...
Spring 2.5 引入了注解配置,允许开发者在类和方法级别使用注解,如 @Component、@Service、@Repository 和 @Controller,这些注解对应了传统的 XML 中的 `<bean>` 元素。此外,@Configuration 类可以替代 XML 配置...
**Spring 2.5 中文帮助文档概述** Spring框架是Java平台上的...阅读"Spring2.5中文帮助手册.pdf"和"Spring2.5有哪些改进.txt"这两个文件,将能详细了解到这些改进的实施细节和使用方法,为实际开发工作提供有力支持。
2. **注解驱动的开发(Annotation-based Development)**:Spring 2.5引入了大量的新注解,如`@Autowired`、`@Service`、`@Repository`和`@Controller`等,极大地减少了XML配置文件的使用。这些注解简化了组件扫描和...
2. **注解驱动的开发(Annotation-based Development)**:Spring 2.5大量引入了注解,例如`@Service`、`@Repository`和`@Controller`,用于标记业务层、数据访问层和表现层的类,简化了XML配置文件。 3. **AOP(面向...
《Spring2.5-中文参考手册》是一份详尽阐述Spring框架2.5版本的中文文档,对于理解和应用Spring框架的开发人员来说,是不可或缺的参考资料。这份CHM(Compiled HTML Help)版本的手册,集成了Spring 2.5的所有核心...
在压缩包"spring2.5"中,包含的可能是一系列与Spring 2.5相关的JAR文件,如spring-beans、spring-context、spring-core等模块的JAR,这些是构建基于Spring 2.5的应用所必需的依赖。使用这个精简版的JAR集合,可以...
Spring Framework 开发参考手册 目录 1. 简介 1.1. 概览 1.1.1. 使用场景 2. Spring 2.0和 2.5的新特性 ...2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 ......
《Spring 2.5 开发参考手册》是针对Spring框架2.5版本的一份详尽指南,该版本在Spring框架的发展历程中具有重要的里程...对于想要深入理解和使用Spring 2.5的开发者,《Spring 2.5开发参考手册》无疑是一份宝贵的资源。
首先,Spring2.5引入了基于注解的配置(Annotation-based Configuration),这极大地简化了XML配置文件的编写,使得应用程序的装配过程更加直观和简洁。开发者可以通过在类或方法上添加如@Service、@Repository、@...
总而言之,《Spring2.5中文开发手册》将帮助读者深入理解Spring框架的核心概念,如依赖注入、AOP、MVC、数据访问以及测试等,并掌握如何利用Spring 2.5的新特性来构建高质量、可扩展的应用程序。通过学习手册中的...
- 支持在XML配置中直接使用注解,如 `<context:annotation-config>` 和 `<mvc:annotation-driven>` 元素,分别启用注解驱动的配置和Spring MVC的注解处理器。 7. **改进的类型安全的集合注入**: - 在Spring 2.5...