[@Controller]1 基于@注释的控制器配置

[@Controller]1 基于@注释的控制器配置

 (2012-06-14 15:20:33)
转载▼

标签: 

spring

 

mvc

 

controller

 

注释

 

控制器

 

it

分类: JavaSpring

基于注释的控制器配置需要Java 5以上的版本支持。这种注释支持servlet MVC和Portlet MVC。通过这种方式实现的控制器不需要继承特定的基础类,或实现特定的接口。

 

A、Dispatcher配置文件

DispatcherServlet和DispatcherPortlet都默认支持注释配置控制器。以DispatcherServlet为例,它默认支持实现HandlerMapping接口的DefaultAnnotationHandlerMapping和实现HandlerAdapter接口的AnnotationMethodHandlerAdapter来支持注释配置控制器。所有我们无需在Dispatcher配置文件中进行显示配置,就可以支持注释配置控制器。当然我们也可以自定义HandlerMapping和HandlerAdapter来支持。

下面是显示定义的例子:

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

<beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

</beans>

A.1、自动探测注释控制器

在原来的方式中Controller是被显示定义在Dispatcher配置文件中的一个bean。并且这个Controller实例显示实现Controller接口。在注释配置控制器时,这个Controller不再扩展控制器基类或应用Servlet API。注释控制器可以作为一个bean显示的定义在Dispatcher配置文件中,也可以不显示定义让Dispatcher自动探测。

要实现注释控制器自动探测,需要在配置文件中加入探测组件。

自动探测注释控制器的例子

<?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"

    xmlns:context="http://www.springframework.org/schema/context"

    xsi:schemaLocation="

    http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="org.xxx" />

    <!—将自动探测org.xxx包中有控制器注释的类-->

</beans>

 

B、基于注释的Controller

基于注释的@Controller它不需要在类中显式的实现Controller,但是它需要Spring 2.5+和Java 5+的支持。

范例1:

Controllers provide access to the application behavior that you typically define through a service

interface. Controllers interpret user input and transform it into a model that is represented to the user by the view. Spring implements a controller in a very abstract way, which enables you to create a wide variety of controllers.

一个最简单的范例,什么是控制器,控制器它提供了访问程序的行为,我们通常用一个Servlet来实现。控制器它解释用户输入,并把用户输入转换为一个模型,并通过一个视图显示这个模型。

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class HelloWorldController {

    @RequestMapping("/helloWorld")

    public String helloWorld(Model model) {

       model.addAttribute("message", "Hello World!");

       return "helloWorld";

    }

}

@Controller表示HelloWorldController这个类是一个控制器。我们发现这个类并没有像原来那样继承一些Controller的基类或直接实现Controller接口。@RequestMapping("/helloWorld")表示把/helloWorld请求映射到这个类的helloWorld方法上。这个方法接受一个模型Model,并返回一个String类型的视图名,后续可以根据这个视图名,以特定的视图技术显示,这个视图可以访问模型Model数据。

时间: 2024-09-16 02:28:09

[@Controller]1 基于@注释的控制器配置的相关文章

《Cisco QoS认证考试指南(第2版)》——6.5节基于类的限速配置

6.5 基于类的限速配置 Cisco QoS认证考试指南(第2版) CB限速特性根据数据包是否符合.超出或违反流量契约(本章前文"限速如何工作"小节中详细解释了这3类流量分别表示什么意思),分别使用3种不同的行为来实现限速.一般来说,当数据包到达时有足够的Bc令牌可用,CB限速特性就会将其看作"符合"契约:当数据包到达时Bc不够但Be足够,该数据包就"超出"契约:当数据包到达时Bc和Be都不够,该数据包就"违反"契约 对于每个

《Cisco QoS认证考试指南(第2版)》一6.4 基于类的整形配置

6.4 基于类的整形配置 Cisco QoS认证考试指南(第2版)Cisco IOS软件包含4种不同的整形工具.其中CB整形特性和FRTS(帧中继流量整形)是最常用的两个工具.有趣的是,这4个整型工具内部的工作原理从根本上说是一样的.事实上,这4个整型工具共享IOS中的多数整形代码.尽管有些特性有所区别,配置方法也有所不同,但很多核心功能是一样的.因此,浸有必要掌握所有4个流量整形工具,当前QoS考试只关注CB整形特性,它使用MQC进行配置. 注释:若你想要了解更多有关FRTS的信息,可以参考本

grep 命令系列:如何只查看配置文件中未被注释的有效配置行

grep 命令系列:如何只查看配置文件中未被注释的有效配置行 大多数的Linux和类Unix系统的配置文件中都有许多的注释行,但是有时候我只想看其中的有效配置行.那我怎么才能只看到quid.conf或httpd.conf这样的配置文件中的非注释命令行呢?怎么去掉这些注释或者空行呢? 我们可以使用 UNIX/BSD/OS X/Linux 这些操作系统自身提供的 grep,sed,awk,perl或者其他文本处理工具来查看配置文件中的有效配置命令行. grep 命令示例--去掉注释 可以按照如下示例

《Cisco QoS认证考试指南(第2版)》——6.4节基于类的整形配置

6.4 基于类的整形配置Cisco QoS认证考试指南(第2版)Cisco IOS软件包含4种不同的整形工具.其中CB整形特性和FRTS(帧中继流量整形)是最常用的两个工具.有趣的是,这4个整型工具内部的工作原理从根本上说是一样的.事实上,这4个整型工具共享IOS中的多数整形代码.尽管有些特性有所区别,配置方法也有所不同,但很多核心功能是一样的.因此,浸有必要掌握所有4个流量整形工具,当前QoS考试只关注CB整形特性,它使用MQC进行配置. 注释:若你想要了解更多有关FRTS的信息,可以参考本书

为运行Windows Server 2008的域控制器配置活动目录林架构

在你能将运行Windows Server 2008的域控制器添加到运行Windows 2000 Server及Windows Server 2003的活动目录环境之前,你必须更新活动目录架构.你必须在拥有架构操作主机角色的域控制器上更新架构.如果你打算执行Windows Server 2008 AD DS无人值守安装的话,你必须在你安装操作系统之前更新架构.如果是正常安装的话,你必须更新架构在你运行"Setup"之后并且在你安装AD DS之前. 在你配置好活动目录林之后,你需要配置任何

一种基于 JEP 和可配置公式实现用户自定义字段的解决方案

背景 随着 IT 技术的普及和发展,用户的信息化水平越来越高,软件产品除了满足用户的基本需求 之外,还必须越来越照顾到用户的个性化需求,为用户提供深层次的个性化服务.以一个包含报表展示功能的 产品为例,默认呈现给所有用户完全相同的报表,即同一个报表的字段内容和标签对所有用户完全相同.而在 实际中,我们常常会遇到不同的用户由于其业务需求的不同,对于同一张报表,除基本数据字段之外,还要求 额外增加符合该用户特定业务含义的字段,我们称之为用户自定义字段(Custom Metric).这类需求在财务 报

Firefox Profilemaker 基于Web的浏览器配置编辑器

相信不少Firefox用户都有自己的浏览器配置习惯,但是在迁移或重装后的重配置过程却是一件费时费力的事情.不过本文介绍的Firefox Profilemaker,则是一款基于Web的浏览器配置编辑工具.通过它,你可以非常方便地调整7大类别中.多达41种的自定义选项.包括Firefox追踪.网站追踪.隐私.安全.膨胀软件(Bloatware).恼人事(Annoyances).以及附加组件设置. 对于新老用户来说,Firefox Profilemaker都非常实用.每个类别的设置项,均提供了简短的说

Spring IoC — 基于Java类的配置

原文:Spring IoC - 基于Java类的配置 普通的POJO只要标注@Configuration注解,就可以为Spring容器提供Bean定义的信息了,每个标注了@Bean的类方法都相当于提供一个Bean的定义信息. 基于Java类的配置方法和基于XML或基于注解的配置方式相比,前者通过代码的方式更加灵活地实现Bean的实例化及Bean之间的装配,但后面两者都是通过配置声明的方式,在灵活性上要稍逊一些,但是配置上要更简单一些.   UserDao类: package com.ioc.ch

为Windows Server 2003域控制器配置辅助DNS服务器

环境: 主DNS:Win 2003域主控制器 区域由系统自动生成 (简称A) 要安装成辅助DNS的主机:Win 2003 未加入域 (简称B) 区域:region.com 操作方法: 1. 打开A的DNS-->展开服务器名-->右键"正向搜索区域"选属性. 2. 点"区域复制"页签,勾上"允许区域复制",并在"只允许到下列 服务器"中添加B的IP. 3. 点击右下的"通知",同样添加B的IP.