上一節(jié)已經(jīng)將Spring源碼導(dǎo)入IDEA阎肝,為了以后分析方便渐北,我們在Spring源碼目錄下筛璧,新建自己的一個Gradle模塊牛欢。
1.新建gradle測試工程
-
File-->New-->Module 新建一個模塊
-
選擇Gradle-->配置Jdk-->選擇Java
-
點擊右上角文件夾圖標(biāo)-->選擇spring-->輸入ArtifactId
-
選擇項目存儲目錄-->完成模塊創(chuàng)建
2.配置gradle測試工程
-
在右側(cè)Gradel管理控制臺-->右鍵新創(chuàng)建的模塊-->Open Gradle Config
添加模塊引用
apply plugin: "groovy"
dependencies {
compile(project(":spring-beans"))
compile(project(":spring-core"))
optional(project(":spring-aop"))
optional(project(":spring-context"))
optional(project(":spring-oxm"))
optional("javax.annotation:javax.annotation-api:1.3.2")
optional("javax.ejb:javax.ejb-api:3.2")
optional("javax.enterprise.concurrent:javax.enterprise.concurrent-api:1.0")
optional("javax.inject:javax.inject:1")
optional("javax.interceptor:javax.interceptor-api:1.2.2")
optional("javax.money:money-api:1.0.3")
optional("javax.validation:validation-api:1.1.0.Final")
optional("javax.xml.ws:jaxws-api:2.3.0")
optional("org.aspectj:aspectjweaver:${aspectjVersion}")
optional("org.codehaus.groovy:groovy:${groovyVersion}")
optional("org.beanshell:bsh:2.0b5")
optional("joda-time:joda-time:2.10")
optional("org.hibernate:hibernate-validator:5.4.2.Final")
optional("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")
optional("org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}")
testCompile("org.codehaus.groovy:groovy-xml:${groovyVersion}")
testCompile("org.codehaus.groovy:groovy-jsr223:${groovyVersion}")
testCompile("org.codehaus.groovy:groovy-test:${groovyVersion}")
testCompile("org.apache.commons:commons-pool2:2.6.0")
testCompile("javax.inject:javax.inject-tck:1")
testRuntime("javax.xml.bind:jaxb-api:2.3.0")
testRuntime("org.glassfish:javax.el:3.0.1-b08")
testRuntime("org.javamoney:moneta:1.3")
}
3.測試
將SimplePropertyNamespaceHandlerWithExpressionLanguageTests.java和simplePropertyNamespaceHandlerWithExpressionLanguageTests.xml配置文件復(fù)制到該工程下骡男,配置文件要放到resources目錄下,并添加Junit引用傍睹,運行測試類即可
注意:如果修改build.gradle配置文件還是無法引用到spring的模塊的話隔盛,可以選擇IDEA-->File-->project structure-->選擇新建的模塊-->按下圖操作添加對應(yīng)的模塊即可,只需添加_main結(jié)尾的模塊(或者可以根據(jù)IDEA的提示在代碼里直接引用模塊)
[圖片上傳失敗...(image-83e021-1538226436964)]