今天公司让搭建个springMVC的注解框架,研究了好半天,网络搜罗了半天,好不容易找到篇,拿来分享下:

原文出处:http://itxxz.com/a/kuangjia/2014/0531/4.html

大家好,我是IT学习者的螃蟹,前两天写了一个spring MVC的注解实例,目前看来下载使用的人数已有不少,使用过程中也有不少人对其中的配置存有一些不解和疑问,在这里螃蟹就那个实例中的spring配置详细说明一下,算作是对spring注解模式的一次全方位解析。

在实例中spring的配置非常简单而且非常实用,毕竟我们是从搭建框架的根本开始,还没有整合其它高级应用,内容也就略显少了一些。也正因此,成为spring注解模式的最佳入门教材。

我们先看一张图

从图中可以看到,spring的主配置文件applicationContext.xml不过一百来行,配置了几个必须的bean,然后在项目启动的时候加载这个配置文件就可以了。如果在图中看不清的可以去看下实例的源码,在文件结尾处有下载页的链接。

spring开启注解的配置如下:

<!-- 开启自动扫描 -->
<context:annotation-config/> 
<context:component-scan base-package="com.itxxz" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" />
<context:include-filter type="annotation" expression="org.springframework.stereotype.Component" />
</context:component-scan>

1、首先我们要指定包路径(base-package="com.itxxz" ),也就是项目中的dao、service、controller(或action)所在的目录。

其实在螃蟹写的实例分层中,只有这三个,dao是接口(interface),没有定义实现类(后续会说明原因)。service是用来处理业务逻辑的,而controller层只作为视图的控制转发。

2、开启注解,也就是以上配置中的Service、Repository、Component三个声明。下面我们通过代码详细说明:

dao层
 
       service层

 
       Controller层
 

至此spring的配置就告一段落了,下篇我们开始讲解《spring如何整合mybatis》,力求通过最简单的配置,达到最健全的实现。

想必也开始有不少蠢蠢欲动的心已经按捺不住了。根据以上配置好后,一运行为什么报错了?!

这里螃蟹先提醒几点,下篇我们继续分析:

       A. 项目中的xml文件是否根据实例中的进行配置并且确保已经加载

B. 是否在每一层上都加了注解,并检查下不要把dao层的repository写出resource

C. java代码中的dao、service、controller三层没有进行继承其它类或实现其它接口,尤其是关于sql方面的

D. 检查applicationContext.xml中配置的sqlSessionFactory是否配置正确

有关本实例的源码可以到 《spring MVC注解实例及说明文档》 下载,任何问题都可以反馈给我们,我们会尽量抽时间解答。

一篇非常经典的springMVC注解实现方式详解的更多相关文章

  1. SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解

    SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解 博客分类: 跟开涛学SpringMVC   6.6.2.@RequestParam绑定单个请求参数值 @RequestParam用于 ...

  2. SpringMVC接受JSON参数详解及常见错误总结我改

    SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一个统一的接口给浏览器还有APP.所以把一个练手项目的前 ...

  3. SpringMVC接受JSON参数详解及常见错误总结

    SpringMVC接受JSON参数详解及常见错误总结 SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一 ...

  4. SpringMVC接受JSON参数详解

    转:https://blog.csdn.net/LostSh/article/details/68923874 SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session ...

  5. Kotlin——中级篇(二): 属性与字段详解

    在前面的章节中,详细的为大家讲解到了Kotlin中对类的类的定义.使用.初始化.初始化.类继承等内容,但是在一个类中,几乎上是不可能不出现属性与字段(field)的,这一篇文章就为大家奉上Kotlin ...

  6. SPRINGBOOT注解最全详解(

    #     SPRINGBOOT注解最全详解(整合超详细版本)          使用注解的优势:               1.采用纯java代码,不在需要配置繁杂的xml文件           ...

  7. (转)java之Spring(IOC)注解装配Bean详解

    java之Spring(IOC)注解装配Bean详解   在这里我们要详细说明一下利用Annotation-注解来装配Bean. 因为如果你学会了注解,你就再也不愿意去手动配置xml文件了,下面就看看 ...

  8. Spring boot注解(annotation)含义详解

    Spring boot注解(annotation)含义详解 @Service用于标注业务层组件@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数 ...

  9. SpringMVC 之类型转换Converter详解转载

    SpringMVC之类型转换Converter详解 本文转载 http://www.tuicool.com/articles/uUjaum 1.1     目录 1.1      目录 1.2     ...

随机推荐

  1. HDU4453--Looploop (Splay伸展树)

    Looploop XXX gets a new toy named Looploop. The toy has N elements arranged in a loop, an arrow poin ...

  2. jquery图片3D旋绕效果 rotate3Di的操作

    这是一个图片效果,很简单实用,只需要一个"rotate3Di.js"的插件就行, 关于rotate的用法有如下几种: $(选择器).rotate3Di(30); //把图片3D旋转 ...

  3. 几道php基础面试题

    前言 昨晚实验室一师弟在微薄上@我,给我发了几道php的基础面试题,这里把我写的答案贴出来 题目 (1)写一个函数获取URL的文件后缀,例如“http://www.feiyan.info/test.p ...

  4. HashSet的分析(转)

    一.  HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素. 二.  ...

  5. Android开源代码解读-基于SackOfViewAdapter类实现类似状态通知栏的布局

    一般来说,ListView的列表项都会采用相同的布局,只是填充的内容不同而已,这种情况下,Android提供了convertView帮我们缓存列表项,达到循环利用的目的,开发者也会使用ViewHold ...

  6. mysql 5.6 设置慢查询

    mysql 5.6 开启慢查询日志 slow_query_log = on #开启慢查询 1 或者 on long_query_time = 3 #记录超过的时间,单位是秒,默认是10s slow_q ...

  7. NFinal学习笔记(一)

    NFinal框架,最快的netWeb框架,其有三大特色,NFinalServer,NFinalBuild,NFinal代码生成器(生成web层) 首先学习了NFinalServer. NFinalSe ...

  8. Windows消息机制(转)1

    Windows的应用程序一般包含窗口(Window),它主要为用户提供一种可视化的交互方式,窗口是总是在某个线程(Thread)内创建的.Windows系统通过消息机制来管理交互,消息(Message ...

  9. asp net 编程问题 实现下一篇 和上一篇效果

    首先是access数据库,有一个名为news的表,里面有三个字段,分别为id,classid 和name 其中id为主键,classid可以重复 现在有以下数据: id classid name 1 ...

  10. ajax例子

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...