Springmvc3.0 注解详解

相关关键词:  android教程

1,  为什么要用注解,注解有什么好处?

Springmvc3.0 是基于注解进行编程,能大大提高开发效率,和维护成本。相比较SSH(struts2+spring+hibernate)   springmvc3.0去除了struts2.0 ,spring, hinernate 配置文件的编写和维护,从而可以更加快速的进行开发。所有这一切的实现就是基于注解进行编程。

2,  怎么去理解注解?

注解可以写在类上面,也可以写在方法上面,在目前我们的系统中,基于方法的注解主要用在控制器中,基于类的注解主要在控制器类, 业务逻辑层(serviceImpl), 数据层的(daoImpl)的实现类。

基于类的注解,例如controller , 相当于在系统中调用一个单例对象。

Spring的Controller是Singleton的。这就意味着会被多个请求线程共享。

3,常用的注解有哪些?

• @Controller

• @Service

• @Autowired

• @RequestMapping

• @RequestParam

• @ModelAttribute

• @Cacheable

• @CacheFlush

• @Resource

• @PostConstruct

• @PreDestroy

• @Repository

• @Component (不推荐使用)

• @Scope

• @SessionAttributes

• @InitBinder

• @Required

• @Qualifier

在我们系统中需要理解的注解有哪些?以下做了一下分类,进行讲解:

在控制器中:

@Controller  -> 基于类的注解

• 例如

@Controller
public class SoftCreateController extends SimpleBaseController {}

• 或者
@Controller("softCreateController")

• 说明

@Controller 负责注册一个bean 到spring 上下文中,bean 的ID 默认为类名称开头字母小写

@Resource

• 例如

@Resource
private DataSource dataSource; // inject the bean named ‘dataSource‘

• 或者

@Resource(name="dataSource")
@Resource(type=DataSource.class)

• 说明

@Resource 默认按bean 的name 进行查找,如果没有找到会按type 进行在没有为 @Resource 注解显式指定 name 属性的前提下,如果将其标注在 BeanFactory 类型、ApplicationContext 类型、ResourceLoader 类型、ApplicationEventPublisher 类型、MessageSource 类型上,那么 Spring 会自动注入这些实现类的实例,不需要额外的操作。此时 name 属性不需要指定 ( 或者指定为""),否则注入失败;

-----------------------------------------------------------

@Service  基于业务逻辑层的注解

• 例如

@Service
public class SoftCreateServiceImpl implements ISoftCreateService {}

• 或者
@Service("tourSearchDataService")

publicclass TourSearchDataServiceImpl implements TourSearchDataService{}

•说明

@Service 负责注册一个bean 到spring 上下文中,bean 的ID 默认为类名称开头字母小写

@Repository  基于数据层的注解

• 与@Controller 、@Service 类似,都是向spring 上下文中注册bean ,不在赘述。

@Repository("tourSearchDataDao")

publicclass TourSearchDataDaoImpl extends SearchHibernateDaoSupport implements TourSearchDataDao {}

相关关键词:  android教程

 

时间: 2024-08-05 03:25:56

Springmvc3.0 注解详解的相关文章

【转】@RequestParam @RequestBody @PathVariable 等参数绑定注解详解

@RequestParam @RequestBody @PathVariable 等参数绑定注解详解 2014-06-02 11:24 23683人阅读 评论(2) 收藏 举报 目录(?)[+] 引言: 接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主

Spring3.0 AOP 详解

一.什么是 AOP. AOP(Aspect Orient Programming),也就是面向切面编程.可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程. 二.AOP 的作用. 常常通过 AOP 来处理一些具有横切性质的系统性服务,如事物管理.安全检查.缓存.对象池管理等,AOP 已经成为一种非常常用的解决方案. 三.AOP 的实现原理. 如图:AOP 实际上是由目标类的代理类实现的.AOP 代理其实是由 AOP 框架动态生成的一个

Retrofit2.0使用详解

Retrofit2.0使用 随笔 生活是一面镜子,不去擦拭,岁月的灰尘将掩埋它. 转载请标明出处:http://blog.csdn.net/qq_15807167/article/details/51712048 主页 Retrofit20使用 初次了解Retrofit 具体的使用文档 请求体Request Body FORM ENCODED AND MULTIPART 表单和Multipart 异步 VS 同步 Retrofit20的新知识点 Retrofit20的使用方式 使用 注意 如果有

Java——注解详解

Java注解同 classs 和 interface 一样,注解也属于一种类型.它是在 Java SE 5.0 版本中开始引入的概念. 注解的定义 通过 @interface 关键字进行定义. public @interface TestAnnotation { } 这段代码就创建了一个名字为 TestAnnotaion 的注解. 你可以简单理解为创建了一张名字为 TestAnnotation 的标签. 使用注解 @TestAnnotation public class Test { } 在类上

Java基础13:反射与注解详解

Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Oracle官方对反射的解释是 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fi

C# 网络编程之豆瓣OAuth2.0认证详解和遇到的各种问题及解决

        最近在帮人弄一个豆瓣API应用,在豆瓣的OAuth2.0认证过程中遇到了各种问题,同时自己需要一个个的尝试与解决,最终完成了豆瓣API的访问.作者这里就不再吐槽豆瓣的认证文档了,毕竟人家也不容易.但是作者发现关于豆瓣OAuth认证过程的文章非常之少,所以想详细写这样一篇文章方便后面要做同样东西的人阅读.希望文章对大家有所帮助,尤其是想做豆瓣API开发的初学者. (文章中蓝色字表示官方文档引用,红色字是可能遇到问题及注意,黑色字是作者叙述) 一.误区OAuth1.0认证过程    

Cocos2d-x 3.0坐标系详解(转载)

Cocos2d-x 3.0坐标系详解Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系.笛卡尔坐标系笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系.屏幕坐标系和Cocos2d坐标系标准屏幕坐标系使用和OpenGL不同的坐标系,而Cocos2d则使用和OpenGL相同的坐标系.iOS, Android, Windows Phone等在开发应用时使用的是标准屏幕坐标系,原点为屏幕左上角,x向右,y向下.Cocos2d坐标系和Ope

CentOS 7上安装Zabbix Server 3.0 图文详解

转载自 http://www.linuxidc.com/Linux/2016-09/135204.htm CentOS 7上安装Zabbix Server 3.0 图文详解 1.查看系统信息. cat /etc/RedHat-releaseCentOS Linux release 7.0.1406 (Core) uname -a Linux VM_96_155_centos3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_

zabbix专题:第二章 zabbix3.0安装详解

zabbix3.0安装详解 本节目录大纲 安装配置mariadb 安装服务器端 zabbix web配置 web页面初始化 更改为中文 中文乱码问题 zabbix专题:第二章 zabbix3.2安装详解 zabbix专题:第二章 zabbix3.2安装详解 官方文档地址: https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages 我安装zabbix用的rpm包,可以从官网的源里面去下载,需