随笔 - 72  文章 - 28  trackbacks - 0
<2014年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(4)

随笔分类(66)

随笔档案(72)

文章档案(19)

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜

在Spring MVC中的配置中一般会遇到这两个标签,作为<context:component-scan>的子标签出现。

但在使用时要注意一下几点:

1.在很多配置中一般都会吧Spring-common.xml和Spring-MVC.xml进行分开配置,这种配置就行各施其职一样,显得特别清晰。

在Spring-MVC.xml中只对@Controller进行扫描就可,作为一个控制器,其他的事情不做。

在Spring-common.xml中只对一些事务逻辑的注解扫描。

2.现在给定一个项目包的机构:

com.fq.controlller

com.fq.service

就先给定这两个包机构

(1)在Spring-MVC.xml中有以下配置:

 

 

 

<!-- 扫描@Controller注解 -->
<context:component-scan base-package="com.fq.controller">
    <context:include-filter type="annotation"
        expression="org.springframework.stereotype.Controller" />
</context:component-scan>

可以看出要把最终的包写上,而不能这样写base-package=”com.fq”。这种写法对于include-filter来讲它都会扫描,而不是仅仅扫描@Controller。哈哈哈,这点需要注意。他一般会导致一个常见的错误,那就是事务不起作用,补救的方法是添加use-default-filters=”false”。

(2)在Spring-common.xml中有如下配置:

<!-- 配置扫描注解,不扫描@Controller注解 -->
<context:component-scan base-package="com.fq">
    <context:exclude-filter type="annotation"
        expression="org.springframework.stereotype.Controller" />
</context:component-scan>

可以看到,他是要扫描com.fq包下的所有子类,不包含@Controller。对于exculude-filter不存在包不精确后都进行扫描的问题。

posted @ 2015-10-29 10:25 kelly 阅读(245) | 评论 (0)编辑 收藏


在Eclipse中创建Maven的Web项目时出现错误:An internal error occurred during: “Retrieving archetypes:”. Java heap space,可以通过以下步骤来解决问题。 
1. 找到Eclipse的根目录下的eclipse.ini(或myeclipse.ini)文件并打开

2.修改文件中的以下配置

-Dosgi.requiredJavaVersion=1.5(可选)

-Xms512m

-Xmx1024m

这是我的配置,大家可以尝试着修改下,不同的机器配置可能支持的情况不同。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-10-12 15:09 kelly 阅读(5301) | 评论 (0)编辑 收藏

myeclipse自定义java注释:

Window->Preference->Java->Code Style->Code Template

然后展开Comments节点就是所有需设置注释的元素

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

文件 (Files) 注释标签:

/** 

@Project : ${project_name}

@Title : ${file_name}

@Package ${package_name}

@Description : ${todo}

@author shenyanghong ahong2011@gmail.com

@date ${date} ${time}

@Copyright : ${year} www.1000chi.com Inc. All rights reserved.

@version V1.0 

*/

类 (Types) 注释标签(类的注释):

/**

  * @ClassName ${type_name}

  * @Description ${todo}

  * @author shenyanghong ahong2011@gmail.com

  * @date ${date}

  * ${tags}

*/

字段 (Fields) 注释标签:

/** 
* @Fields ${field} : ${todo}
*/ 


构造函数标签:

/** 
* <p>Title: </p> 
* <p>Description: </p> 
* ${tags} 
*/

 

方法 (Constructor & Methods) 标签:

/** 
* @Title: ${enclosing_method} 
* @Description: ${todo}
* @param ${tags}    
设定文件 
* @return ${return_type}    
返回类型 
* @throws 
*/

覆盖方法 (Overriding Methods) 标签:

/* ( 非 Javadoc) 
* <p>Title: ${enclosing_method}</p> 
* <p>Description: </p> 
* ${tags} 
* ${see_to_overridden} 
*/

 

代表方法 (Delegate Methods) 标签:

/** 
* ${tags} 
* ${see_to_target} 
*/ 


getter
 方法标签:

/** 
* @return ${bare_field_name} 
*/

setter 方法标签:

/** 
* @param ${param} 
要设置的 ${bare_field_name} 
*/

posted @ 2015-06-30 10:38 kelly 阅读(246) | 评论 (0)编辑 收藏

今天将写好的附件服务器的API发给同事

 

她引入我的jar后, 编译就会报错: 类文件具有错误的版本 50.0,应为 49.0

 

50.0 对应的是JDK的1.6版本, 而49.0 对应的是JDK的1.5版本

 

也就是说我的jar的版本高于她所用的版本

 

由于我们实际部署在1.5之上, 所以我就来修改我的编译环境

 

首先我先修改了Eclipse的编译环境到1.5, 但是没有效果

 

转眼一想, 我都是使用Ant来打包发布, 看来Ant是自己编译的

 

于是我就在网上找到了修改Ant编译版本的方法

 

 

 

最后完成了修改

 

写个文字记录下, 免得以后忘了= =

 

 

PS: 我发现很多人问如何查看class文件是什么版本JDK编译的, 现在我将方法写在下面:

 

使用UtralEdit打开一个class文件.

 

根据java虚拟机的规范, java的class文件的前4个字节为magic number(魔数), 0xCAFEBABE(下图的第一行0 - 3列), 标识这个文件是java的class文件

 

而紧随其后的4个字节, 存储的就是该class文件的主次版本号(下图的第一行的 4 - 7 列), 下图中的31 换算成十进制就是49, 这标识此class文件为JDK1.5编译所得, 若32 就是JDK1.6编译

 

posted @ 2015-03-03 16:08 kelly 阅读(423) | 评论 (0)编辑 收藏
<mvc:annotation-driven />注解意义

<mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
后面,我们处理响应ajax请求时,就使用到了对json的支持。
后面,对action写JUnit单元测试时,要从spring IOC容器中取DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,来完成测试,取的时候要知道是<mvc:annotation-driven />这一句注册的这两个bean。

posted @ 2014-11-16 22:42 kelly 阅读(171) | 评论 (0)编辑 收藏
1、确保导入了jackson-core-asl-1.9.13.jar和jackson-mapper-asl-1.9.13.jar包
2、在spring的配置文件中加入<mvc:annotation-driven />这句,它提供了读取jason的支持
3、使用springMVC的@ResponseBody注解
@responsebody表示该方法的返回结果直接写入HTTP response body中
一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。
4、在以上配置都正确的情况下,我的项目还是不能返回json串。报错:The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ()。
今天终于在一个外文网站找到答案,是由于spring版本的问题引起的。我之前一直用的是3.0.0的版本。就是因为这个版本的问题。于是果断去官网下载3.2版本的,一切正常运行,成功返回json数据。
posted @ 2014-11-16 22:41 kelly 阅读(14138) | 评论 (1)编辑 收藏