`
dalezhu
  • 浏览: 206968 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring 2.5 mvc annotation使用

    博客分类:
  • Java
阅读更多

项目中一种在用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。

分享到:
评论

相关推荐

    配置整合DWR3.0和Spring2.5使用annotation注解

    在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与Spring 2.5框架整合,并利用注解(Annotation)进行配置。DWR是一个允许JavaScript与Java服务器端进行交互的库,而Spring 2.5引入了对注解的强大支持,...

    struts2 hibernate3 spring2.5 annotation 整合

    3300_Registration_11可能是一个示例项目,包含了上述整合的实例,包括Action、Service、DAO、配置文件等,开发者可以通过学习和运行这个项目来理解和实践Struts2、Hibernate3、Spring2.5的整合以及注解的使用。...

    Spring MVC 2.5 annotation 学习

    博文链接:https://pesome.iteye.com/blog/236273

    传智播客spring2.5源代码

    6. **类型安全的集合注入**:在Spring 2.5中,可以使用泛型来指定集合类型的元素类型,Spring会自动检查注入的元素类型是否匹配,避免了运行时类型不匹配的问题。 7. **SpEL(Spring Expression Language)**:...

    struts2 spring2.5 hibernate3.0 annotation 整合

    Struts2、Spring2.5和Hibernate3.0是Java Web开发中三个非常重要的框架,它们各自负责不同的职责,但可以协同工作以构建高效、可维护的Web应用程序。本项目整合了这三个框架,并利用注解(Annotation)进行配置,...

    使用 Spring 2.5 基于注解驱动的 Spring MVC

    ### 使用 Spring 2.5 基于注解驱动的 Spring MVC #### 概述与背景 自从Spring 2.0版本对Spring MVC框架进行了重大升级之后,Spring 2.5再次对该框架进行了显著改进,引入了注解驱动的功能。这使得开发人员能够更加...

    spring2.5源码

    Spring 2.5引入了更强大的依赖注入机制,允许通过注解(Annotation)来声明依赖,不再局限于XML配置。`@Autowired`注解可以自动装配bean,而`@Qualifier`则用于指定多个相同类型的bean中需要哪一个。这种改进使得...

    spring2.5 api

    Spring 2.5 引入了注解配置,允许开发者在类和方法级别使用注解,如 @Component、@Service、@Repository 和 @Controller,这些注解对应了传统的 XML 中的 `&lt;bean&gt;` 元素。此外,@Configuration 类可以替代 XML 配置...

    Spring2.5中文帮助文档

    **Spring 2.5 中文帮助文档概述** Spring框架是Java平台上的...阅读"Spring2.5中文帮助手册.pdf"和"Spring2.5有哪些改进.txt"这两个文件,将能详细了解到这些改进的实施细节和使用方法,为实际开发工作提供有力支持。

    spring2.5官方jar

    2. **注解驱动的开发(Annotation-based Development)**:Spring 2.5引入了大量的新注解,如`@Autowired`、`@Service`、`@Repository`和`@Controller`等,极大地减少了XML配置文件的使用。这些注解简化了组件扫描和...

    spring2.5.jar

    2. **注解驱动的开发(Annotation-based Development)**:Spring 2.5大量引入了注解,例如`@Service`、`@Repository`和`@Controller`,用于标记业务层、数据访问层和表现层的类,简化了XML配置文件。 3. **AOP(面向...

    Spring2.5-中文参考手册

    《Spring2.5-中文参考手册》是一份详尽阐述Spring框架2.5版本的中文文档,对于理解和应用Spring框架的开发人员来说,是不可或缺的参考资料。这份CHM(Compiled HTML Help)版本的手册,集成了Spring 2.5的所有核心...

    spring2.5 jar

    在压缩包"spring2.5"中,包含的可能是一系列与Spring 2.5相关的JAR文件,如spring-beans、spring-context、spring-core等模块的JAR,这些是构建基于Spring 2.5的应用所必需的依赖。使用这个精简版的JAR集合,可以...

    spring2.5.chm帮助文档(中文版)

    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的控制器 ......

    spring2.5开发参考手册.rar

    《Spring 2.5 开发参考手册》是针对Spring框架2.5版本的一份详尽指南,该版本在Spring框架的发展历程中具有重要的里程...对于想要深入理解和使用Spring 2.5的开发者,《Spring 2.5开发参考手册》无疑是一份宝贵的资源。

    Spring2.5_学习笔记.doc.zip

    首先,Spring2.5引入了基于注解的配置(Annotation-based Configuration),这极大地简化了XML配置文件的编写,使得应用程序的装配过程更加直观和简洁。开发者可以通过在类或方法上添加如@Service、@Repository、@...

    Spring2.5中文开发手册

    总而言之,《Spring2.5中文开发手册》将帮助读者深入理解Spring框架的核心概念,如依赖注入、AOP、MVC、数据访问以及测试等,并掌握如何利用Spring 2.5的新特性来构建高质量、可扩展的应用程序。通过学习手册中的...

    spring2.5新特性的说明

    - 支持在XML配置中直接使用注解,如 `&lt;context:annotation-config&gt;` 和 `&lt;mvc:annotation-driven&gt;` 元素,分别启用注解驱动的配置和Spring MVC的注解处理器。 7. **改进的类型安全的集合注入**: - 在Spring 2.5...

Global site tag (gtag.js) - Google Analytics