在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 阅读(247) |
评论 (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) |
编辑 收藏