zoukankan      html  css  js  c++  java
  • 【杂谈】Starter Template

    Spring Boot 项目与普通项目在包管理上的差别
    主要差别就是,Spring Boot在包管理上用了starter template,你应该经常看到xxx-starter这类的dependency。实际上就是一个整合包。例如一个spring-boot-web-starter,就包含了所有web应用要用到的基础包。control点进去看就知道了,实际上就是引入了内置的tomcat + JSON处理(jackson)+ spring-web + spring-web-mvc。置于引入Hibernate-Validtor的话,是因为Spring Boot推荐使用JPA,而Hibernate是JPA规范的一种实现。如果你使用的是Mybatis,可以除掉这个包。

    整合包有什么好处?

    我看到的好处有两个,一个是很明显pom文件看起来清爽多了,包数量看起来少了,也不用再像以前那样<!-- web begin--> <!-- web end--> 来标识哪些是web要用到的包了。

    另一方面,就是版本的问题了,有些时候我们需要的包都引入了,但是却发现会报莫名其妙的异常,查了半天才发现,是jar包版本不对。整合包的好处就是,它Spring Boot官方整理好的,能保证这些包可以和谐共处的。

    可以移除整合包的部分内容吗?

    有些人很反感这种全家桶,或者想要替换其中的某个包。这当然可以,比如,你不想用spring-boot-web-starter中的tomcat包,想替换成jetty。那直接exclude掉,然后单独引入jetty就好。注意了,要引入的也是spring boot提供的,不然可能对接不上。

    Spring Boot 有提供哪些整合包?

     实际上就是你利用spring initializer构建项目的时候,可以勾选的那些内容。每勾选一个内容,相当于添加一个对应的整合包到对应的项目。

  • 相关阅读:
    i--和--i的区别
    Visual studio 常用快捷键
    QFNU-ACM 2020.10.23
    QFNU-ACM 2020.10.16 Trating and ACM 实验室2020.10.17天梯赛练习*3
    ACM 实验室2020.10.10天梯赛练习*2
    第十届山东省ACM省赛复现补题报告
    ccpc总结
    2020.06.09——习题训练五
    2020.06.01——习题训练4
    2020年-05-26-习题训练三
  • 原文地址:https://www.cnblogs.com/longfurcat/p/10162531.html
Copyright © 2011-2022 走看看