在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 閱讀(255) |
評論 (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 閱讀(5312) |
評論 (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 閱讀(253) |
評論 (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 閱讀(440) |
評論 (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 閱讀(179) |
評論 (0) |
編輯 收藏