Tomcat——免费的web服务器
tomcat\conf\server.xml 放置tomcat的配置信息
tomcat默认的端口号是8080
项目自动构建工具
Maven
Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段中插件目标的逻辑。
Maven的作用:
- 理解并管理整个软件开发周期,重用标准的构建过程。构建指的是项目从编译、测试、运行、打包、安装、部署整个过程,都可以交给Maven管理。同时Maven还可以通过相应的元数据,重用构建逻辑到一个项目。
- Maven负责整个项目的构建过程,开发人员只需要描述项目基本信息在一个配置文件中:pom.xml。
- Maven还可以提供:声明式依赖性管理、集中的组件库管理、文档的自动生成、报告的自动生成
学习链接:https://www.cnblogs.com/hzg110/p/6936101.htmlhttps://www.cnblogs.com/hzg110/p/6936101.html
Gradle
Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。
Gradle是以Groovy语言为基础,面向Java应用为主,基于DSL语法的第一个构建集成工具,与ant、maven、ivy有良好的相容相关性。gradle整体设计是以作为一种语言为导向的,而非成为一个严格死板的框架。
特点:
- 可以用很灵活的语言来写构建规则
Maven 编译规则是用 XML 来编写的。XML 虽然通俗易懂,但是很难在 xml 中描述 **if{某条件成立,编译某文件}/else{编译其他文件}** 这样有不同条件的任务。所以,Gradle 选择了 Groovy。Groovy 基于 Java 并拓展了 Java。 Java 程序员可以无缝切换到使用 Groovy 开发程序。Groovy 说白了就是把写 Java 程序变得像写脚本一样简单。写完就可以执行,Groovy 内部会将其编译成 Java class 然后启动虚拟机来执行。
- DSL
Domain Specific Language,领域相关语言
Gradle 中使用某种“行话”,比如 sourceSets 代表源文件的集合等。一句“行话”可以包含很多意思,而且在这个行当里的人一听就懂,不用解释。另外,基于行话可以建立一个模板,使用者只要往这个模板里填必须要填的内容,Gradle 就可以非常漂亮得完成工作,得到想要的东西。
Spingboot
Bean
Bean(Java Bean)是描述Java的软件组件模型。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的JavaBean,建立一个public的AddItem成员方法,前台Jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改JavaBean的AddItem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。
Spring
Spring是Java EE编程领域的一个轻量级开源框架。Spring是一个开源容器框架,它集成各类型的工具,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。在整个框架中,各类型的功能被抽象成一个个的 Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程。
SpringBoot
官网:
Getting Started | Building an Application with Spring BootLearn how to build an application with minimal configuration.https://spring.io/guides/gs/spring-boot/ Spring Boot 是由 Pivotal 团队提供的全新框架,是对spring的进一步封装,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。通过封装、抽象、提供默认配置等方式让人们更容易使用。
SpringBoot 基于 Spring 开发。SpringBoot 本身并不提供 Spring 框架的核心特性以及扩展功能,也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。
关于 SpringBoot 有一句很出名的话就是约定大于配置。采用 Spring Boot 可以大大的简化开发模式,它集成了大量常用的第三方库配置,所有你想集成的常用框架,它都有对应的组件支持,例如 Redis、MongoDB、Jpa、kafka,Hakira 等等。SpringBoot 应用中这些第三方库几乎可以零配置地开箱即用,大部分的 SpringBoot 应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。
SpringBoot的出现与微服务相关。微服务实际上是一种架构风格,即开发一个应用时,这个应用应该是由一组小型服务组成,每个小型服务都运行在自己的进程内;小服务之间通过HTTP的方式进行互联互通。和微服务相对应的就是之前的单体应用,即all in one 的架构风格。这种风格把所有的东西都写在一个应用里面,比如我们熟悉的OA,CRM,ERP系统,所有的页面,所有的代码都放在一起,打包成一个war包,然后把war包放在Tomcat容器中运行。