上一节已经将Spring源码导入IDEA,为了以后分析方便,我们在Spring源码目录下,新建自己的一个Gradle模块。
1.新建gradle测试工程
-
File-->New-->Module 新建一个模块
-
选择Gradle-->配置Jdk-->选择Java
-
点击右上角文件夹图标-->选择spring-->输入ArtifactId
-
选择项目存储目录-->完成模块创建
2.配置gradle测试工程
-
在右侧Gradel管理控制台-->右键新创建的模块-->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配置文件复制到该工程下,配置文件要放到resources目录下,并添加Junit引用,运行测试类即可
注意:如果修改build.gradle配置文件还是无法引用到spring的模块的话,可以选择IDEA-->File-->project structure-->选择新建的模块-->按下图操作添加对应的模块即可,只需添加_main结尾的模块(或者可以根据IDEA的提示在代码里直接引用模块)
[图片上传失败...(image-83e021-1538226436964)]