阅读更多

12顶
0踩

编程语言

原创新闻 迁移应用进入基于Annotation MVC的spring 2.5

2008-02-27 16:06 by 资深编辑 withyou 评论(2) 有11824人浏览
Spring 2.5引入了基于Annotation配置的MVC controllers。这篇简短的文章介绍了需要如何迁移你的spring 2.0应用到spring 2.5,至少是需要迁移MVC相关的应用。

首先保证你已经将spring-webmvc.jar放在你的classpath内,DispatcherServlet不再是spring.jar的一部分,现在是在一个单独的模块内。

任何controller class能够通过一到两种方式设置,controller能够控制一个或者多个action。下面是一个包含三个独立action基本的多action controller例子。

package demo;
    
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
    
@Controller
public class SimpleController {
    
    @RequestMapping("/index.html")
    public void indexHandler() {
    }
    
    @RequestMapping("/about.html")
    public void aboutHandler() {
    }
    
    @RequestMapping("/admin.html")
    public void adminHandler() {
    }
}


即使这是一个最简单的例子,有一些重要的地方需要注意,尤其你使用的是spring早期版本。第一,你应该注意到controller是POJO,它没有扩展AbstractController,或者其他controller class,你在spring早期版本会这么做,第二,注意annotations,我已经通过@Controller annotation来标记处controller本身,用@RequestMapping annotations标记独立的methods。我也通过annotation做URL mapping。最后,用request URL来定位logic view name,如不指定DispatcherServlet会自动匹配/index.htm到logical name "index"等.

application context config file 配置如下:


<?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="demo"/>
    
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>


如果你想了解spring MVC深度配置请看Annotated Web MVC Controllers in Spring 2.5.

如果你想配置应用程序其他层,请看Annotation-Based Autowiring in Spring 2.5

 

12
0
评论 共 2 条 请登录后发表评论
2 楼 xzcgeorge 2010-04-17 06:11
呵呵,解决了吗?
可曾试过用AOP来解决?
谢谢

hball 写道
这写得有些简单,有个问题想问问,如何在基于标注的SPRING 2.5 中添加localeChangeInterceptor,或者说如何实现,,因为没有这一个了
<bean id="localeChangeInterceptor"
      class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <property name="paramName" value="siteLanguage"/>
</bean>

<bean id="localeResolver"
      class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>

<bean id="urlMapping"
      class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="interceptors">
        <list>
            <ref bean="localeChangeInterceptor"/>
        </list>
    </property>
    <property name="mappings">
        <value>/**/*.view=someController</value>
    </property>
</bean>

没有mappings 了,在@RequestMapping 没有拦截器可以配,如何是好?

1 楼 hball 2008-05-13 01:02
这写得有些简单,有个问题想问问,如何在基于标注的SPRING 2.5 中添加localeChangeInterceptor,或者说如何实现,,因为没有这一个了
<bean id="localeChangeInterceptor"
      class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <property name="paramName" value="siteLanguage"/>
</bean>

<bean id="localeResolver"
      class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>

<bean id="urlMapping"
      class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="interceptors">
        <list>
            <ref bean="localeChangeInterceptor"/>
        </list>
    </property>
    <property name="mappings">
        <value>/**/*.view=someController</value>
    </property>
</bean>

没有mappings 了,在@RequestMapping 没有拦截器可以配,如何是好?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Spring Mvc迁移到Spring Boot

    Spring Mvc 迁移到 Spring Boot 题记 随着Spring Boot的蓬勃发展,在业界产生的影响已经十分深远,大多数分布式项目开始往微服务方向改造。由于多数公司依赖于强大的Spring Framework,所以Spring Boot的发展趋势...

  • Spring MVC配置JSP及配置thymeleaf

    但是学习Spring MVC的常用配置,有助于我们更好的理解Spring boot为我们做了哪些免配置工作,有利于我们更好的拓展学习。那么我就把自己整理的教程步骤分享下。 1、新建项目。使用Maven构建...

  • SSM(Spring, Spring MVC, MyBatis)开发实战

    SSM是当今Java项目开发行业使用官方的开发框架整合,其在Spring框架的基础上进行了有效的功能扩充,使其可以轻松的实现企业级系统平台的搭建。本书在《Spring开发实战》图书的基础上,继续深入编写,除了包含有基础...

  • java spring mvc idea_使用Intellij IDEA整合Spring+Spring MVC+MyBitis

    本文参考:SSM框架-详细整合教程主要记录了我的整合过程以及整合过程中遇到的错误,并增加了项目配置和部署的过程刚开始接触到后端开发是在大二过后的暑假,那时候使用的框架搭配还是Spring+SpringMVC+iBitis...

  • 记录学习ruoyi第三节:ruoyi 中Spring IOC、DI和Spring MVC

    记录学习ruoyi-中Spring IOC、DI和中Spring MVC

  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第一天)Mybatis的学习

    ​Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的,其主要优势之一就是分层架构。Spring提供了更完善的开发环境,可以为POJO(Plain Ordinary Java Object,普通Java对象)对象提供企业级的服务。...

  • 把系统从Struts2 迁移到 Spring MVC六大步总结

    在这篇辅导材料里,我重点总结了怎么把一个基于struts的系统迁移到SpringMVC架构上来,共分六部曲,让系统一部一部迁移过来,本文讲的知识点以Struts2 to Spring4,但是针对其他应用场景也是可以参考的。Step 1: ...

  • Spring + Spring MVC + Mybatis 框架整合学习

    基本概念 1.1、Spring ... Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One ...它是为了解决企业应用开发的复杂性而创建的。Spring

  • Dubbo 3 于 Spring MVC 下使用注解配置

    Dubbo 是做 RPC 的,基于 Socket + 高性能协议,肯定比 HTTP 调用快多。我当期架构逐渐向分布式靠近,——其实也不是最赶什么微服务的潮流,只是觉得写好的代码,如果不独立,都是依附在某个某个项目中(即“单体”...

  • Spring MVC学习随笔-第一个Spring MVC程序(父子项目结构、Tomcat配置、ViewResolver)

    主要介绍了第一个Spring MVC程序的环境搭建、父子项目结构、Tomcat配置、配置文件。对DispatcherServlet的讲解,2个核心类型:1.RequestMappingHandlerMapping 2.RequestMappingHandlerAdapter,视图解析器...

  • Spring MVC –自定义RequestMappingHandlerMapping

    mvc:annotation-driven /&gt;配置Spring MVC时,在内部将一个名为RequestMappingHandlerMapping的组件注册到Spring MVC。 该组件或通常是HandlerMapping组件负责将请求URI路由到处理程序,这些处理程序是使用@...

  • 【Java EE】Spring MVC的初始化

    SpringMVC是一款主流的Web MVC模式开发框架。跟Struts框架类似。本文通过案例介绍SpringMVC的入门知识。 2.案例介绍 本案例是一个员工CRUD demo。用IDEA编写,基于maven,使用SpringMVC框架,视图采用Freemarker...

  • Spring MVC 自定义参数注解与解析

    后台管理系统经常需要在Handler中获取已登录的用户信息,登录用户的存储可能是存于session或redis,那么如何让Handler快速获取用户信息且无需关心用户数据存放于何处,甚至后续登录用户数据存放的迁移也无需变动...

  • 基于Spring Boot 2.0的IoT应用集成和使用CSE实践

    【摘要】 本文介绍了基于Spring Boot 2.0的IoT应用集成和使用CSE的步骤,收益以及问题。使用CSE,可以快速的让一个原型系统,具备微服务治理和运维能力,加快了业务上线速度,降低服务运行风险。 本文通过一个IoT的...

  • (Spring+SpringMVC+MyBatis)SSM三大框架整合教程

    目录 一、基本概念 1、Spring ... 使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地...

  • Spring Cloud Config Server迁移节点或容器化带来的问题

    如果您跟我一样,目前正在使用Spring Cloud Config做为配置中心的话,本篇将来要描述的问题,强烈推荐了解和关注!因为这个问题目前存在于所有的版本中,还没有完全修复。 原文链接:...

  • Spring Boot 实践折腾记(二):切入点,Spring MVC集成Mybatis的经典例子

    所以,这章内容是复习一下如何使用Spring MVC搭建一个常用的基于maven的web项目,并最终集成Mybatis使用MySQL数据库显示数据,而mysql,我采用docker镜像安装,不使用直接安装方式。 Windows 使用boot2docker...

  • 基于go语言的类python生态中LangChain的LLMs接口框架,

    Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

  • 基于go的轻量化key-value服务.zip

    Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

Global site tag (gtag.js) - Google Analytics