当前位置: 首页 > 后端技术 > Java

学习Spring源码环境

时间:2023-04-01 20:36:31 Java

本文是学习Spring源码的第一篇文章,下载Spring源码,编译运行测试。环境准备JDK11、Gradle、Maven、SpringFramework5.2.0.RELEASE下载源码编译到github:https://github.com/spring-pro...在Tags中选择需要的版本,然后在上面下载正确的。下载解压后,进入spring-framework-5.2.0.RELEASE文件,通过终端执行如下命令:./gradlew:spring-oxm:compileTestJava如果下载速度太慢,可以使用阿里云镜像。然后通过IDEA导入工程,gradle会自动编译。编译时可能会报如下错误:POMrelocationtoanotherversionnumberisnotfullysupportedinGradle:xml-apis:xml-apis:2.0.2relocatedtoxml-apis:xml-apis:1.0.b2。修改导入方法,修改bulid.gradle,搜索configurations.all,添加如下内容:force'xml-apis:xml-apis:1.4.01'configurations.all{resolutionStrategy{cacheChangingModulesFor0,"seconds"cacheDynamicVersionsFor0,"seconds"force'xml-apis:xml-apis:1.4.01'}}然后我们排除spring-aspects模块,右击模块选择Load/UnLoadModules....测试我们新建一个gradle模块用于测试的项目springdemo。目录结构如下:build.gradle添加依赖,这里只添加context,因为context中已经引入了code、aop、bean等核心模块。dependencies{compile(project(":spring-context"))testCompilegroup:'junit',name:'junit',version:'4.12'}首先创建接口和实现类。publicinterfaceWelcomeService{StringsayHello(Stringname);}@ServicepublicclassWelcomeServiceImplimplementsWelcomeService{@OverridepublicStringsayHello(Stringname){System.out.println("Welcome:"+name);返回“成功”;}}创建一个spring配置文件并注册bean。最后我们创建一个启动类进行测试。/***@authorMysteriousJack*公众号:Java菜鸟程序员*@date2022/3/14*@DescriptionStartupclass*/publicclassEntrance{publicstaticvoidmain(String[]args){ApplicationContextapplicationContext=newClassPathXmlApplicationContext("spring/spring-config.xml");WelcomeServicewelcomeService=(WelcomeService)applicationContext.getBean("welcomeService");welcomeService.sayHello("Spring框架!");}}运行结果:>Task:springdemo:Entrance.main()欢迎你:Spring框架!BUILDSUCCESSFULin9sOK,到这里就完成了Spring源码的下载、编译和测试。