了解下JAVA的利用Spring 2.5基于注解驱动的Spring MVC
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。概述
继Spring2.0对SpringMVC举行严重晋级后,Spring2.5又为SpringMVC引进了注解驱动功效。如今你不必让Controller承继任何接口,无需在XML设置文件中界说哀求和Controller的映照干系,仅仅利用注解就能够让一个POJO具有Controller的尽年夜部分功效——SpringMVC框架的易用性失掉了进一步的加强.在框架天真性、易用性和扩大性上,SpringMVC已周全超出了别的的MVC框架,陪伴着Spring一起高唱大进,能够预感SpringMVC在MVC市场上的吸引力将愈来愈不成顺从。
本文将先容Spring2.5新增的SpingMVC注解功效,报告怎样利用注解设置交换传统的基于XML的SpringMVC设置。
一个复杂的基于注解的Controller
利用太低版本SpringMVC的读者都晓得:当创立一个Controller时,我们必要间接或直接地完成org.springframework.web.servlet.mvc.Controller接口。一样平常情形下,我们是经由过程承继SimpleFormController或MultiActionController来界说本人的Controller的。在界说Controller后,一个主要的事务是在SpringMVC的设置文件中经由过程HandlerMapping界说哀求和把持器的映照干系,以便将二者联系关系起来。
来看一下基于注解的Controller是怎样界说做到这一点的,上面是利用注解的BbtForumController:
清单1.BbtForumController.java
package com.baobaotao.web;
import com.baobaotao.service.BbtForumService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.Collection;
@Controller //<——①
@RequestMapping("/forum.do")
public class BbtForumController {
@Autowired
private BbtForumService bbtForumService;
@RequestMapping //<——②
public String listAllBoard() {
bbtForumService.getAllBoard();
System.out.println("call listAllBoard method.");
return "listBoard";
}
}
从下面代码中,我们能够看出BbtForumController和一样平常的类并没有区分,它没有完成任何特别的接口,因此是一个隧道的POJO。让这个POJO不同凡响的魔棒就是SpringMVC的注解!
在①处利用了两个注解,分离是@Controller和@RequestMapping。在“利用Spring2.5基于注解驱动的IoC”这篇文章里,笔者已经指出过@Controller、@Service和@Repository和@Component注解的感化是等价的:将一个类成为Spring容器的Bean。因为SpringMVC的Controller必需事前是一个Bean,以是@Controller注解是不成短少的。
真正让BbtForumController具有SpringMVCController功效的是@RequestMapping这个注解。@RequestMapping能够标注在类界说处,将Controller和特定哀求联系关系起来;还能够标注在办法署名处,以便进一步对哀求举行分流。在①处,我们让BbtForumController联系关系“/forum.do”的哀求,而②处,我们详细地指定listAllBoard()办法来处置哀求。以是在类声明处标注的@RequestMapping相称于让POJO完成了Controller接口,而在办法界说处的@RequestMapping相称于让POJO扩大Spring预界说的Controller(如SimpleFormController等)。
为了让基于注解的SpringMVC真正事情起来,必要在SpringMVC对应的xxx-servlet.xml设置文件中做一些四肢举动。在此之前,仍是先来看一下web.xml的设置吧:
<p>
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点 是一种语言,用以产生「小应用程序(Applet(s)) Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 是一种为 Internet发展的计算机语言 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 是一种使网页(Web Page)产生生动活泼画面的语言 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
页:
[1]