本想着先来看看spring的另外一个特性Aop,看了下源码以及相关的资料等,头绪很乱,等我在捋捋整理下在来整理,毕竟现在springboot是很成熟的技术,确实对于我们开发来说,提供了太多的方便,少了配置xml,用全注解的方法来减少开发中的配置,当然也是兼容配置xml 的,这里在啰嗦一下,可能出去面试的时候面试官会问到一个无聊的问题,就是springMVC spring 以及springboot的区别?答案是: 对于spring来说是springFrame其中springMvc是该框架的前端控制器,而springboot是整个spring框架的引导者,即启动器,包含整个spring以及springMVC,额好像扯远了,回归正轨,来看springboot源码搭建所需的环境.
环境
- maven
注意:一定要有maven本地环境,我这里是2.6.1版本
- git
- jdk8+
我这里是jdk1.8
- IDEA2019.1
- Kotlin
该插件应该是idea已经集成好了,我们无需关系
源码获取
我们直接从git上来获取springboot的源码https://github.com/spring-projects/spring-boot
- 我这里是使用基于springboot的2.1.x以上的版本
- 在用git克隆项目时,时间有点长,耐心等待...
-在等待项目克隆完之后,我们来到项目根目录下,需要build项目,输入:
mvn clean install -DskipTests -Pfast
image该命令的主要作用是跳过了test打包,执行pom文件下<profile>标签下id为fast的选项,如下图:
spring源码编译成功图.png在执行该过程时,我这里是大概需要10分钟,各位可以试试,出现如下图说明可以了:
运行项目
通过我们的工具IDEA将项目导进去,等到依赖刷新完成时,找到项目spring-boot-hibernate52-tests下的Hibernate52Application类,直接运行即可,可能存在很多问题,比如gradle相关的依赖找不到,整个项目的pom文件中也会报错如:
<properties>
<revision>2.1.8.BUILD-SNAPSHOT</revision>
<main.basedir>${basedir}</main.basedir>
<disable.checks>true</disable.checks>//自己加的吧!
</properties>
在根目录的 pom.xml 中,会看到 ${disable.checks} 报错。它是用来配置,是否开启 Maven 代码检查的插件。因为,我们目的是为了调试代码,所以自然是去禁用它,代码就是上面加的那个,至于别的问题,遇到了具体问题具体分析,大部分可能是依赖问题或者版本不兼容等
网友评论