使用idea对spring全家桶的各种项目进行创建

目录

  • [1. 简介](#1. 简介)
  • [2. spring](#2. spring)
    • [2.1 简介](#2.1 简介)
    • [2.2 创建](#2.2 创建)
  • [3. springmvc](#3. springmvc)
    • [3.1 介绍](#3.1 介绍)
    • [3.2 创建](#3.2 创建)
  • [4. springboot](#4. springboot)
    • [4.1 简介](#4.1 简介)
    • [4.2 创建(仅仅就其中一种)](#4.2 创建(仅仅就其中一种))
  • [5. 其他:maven](#5. 其他:maven)
  • [6. 参考链接](#6. 参考链接)

1. 简介

因为总是分不清spring全家桶,所以就在这里进行一个总结。

2. spring

2.1 简介

Spring是一个开放源代码的、轻量级且非侵入式的Java开发框架,旨在解决业务逻辑层和其他各层的松耦合问题,将面向接口的编程思想贯穿整个系统应用。Spring框架是一个分层架构,由多个定义良好的模块组成,这些模块可以单独存在,也可以与其他模块联合使用,为开发者提供了极大的灵活性和可扩展性。

Spring的主要特点

  1. 轻量级和非侵入式:Spring框架的轻量级特性使得它能够在任何Java应用中使用,而不会增加系统的复杂性。同时,Spring的非侵入式设计意味着它不会强制你遵循特定的编程模型或架构,而是允许你在现有的代码基础上进行集成。
    控制反转(IoC):IoC是Spring框架的核心内容,它通过一种称为依赖注入(DI)的技术,实现了对象之间的解耦。在IoC模式下,对象的创建和依赖关系的建立由Spring容器来管理,而不是由代码直接控制,这大大降低了代码的耦合度,提高了系统的可维护性和可扩展性。
  2. 面向切面编程(AOP):Spring提供了丰富的AOP支持,允许开发者将横切关注点(如日志、事务管理等)从业务逻辑中分离出来,以声明的方式应用到需要这些横切关注点的对象上。这不仅简化了代码,还提高了代码的复用性和可维护性。
    丰富的模块支持:Spring框架包含多个模块,如Spring Core(核心容器)、Spring Context(上下文)、Spring AOP(面向切面编程)、Spring DAO(数据访问对象)、Spring ORM(对象关系映射)、Spring Web等,这些模块为开发者提供了从底层数据访问到上层Web开发的全栈支持。
  3. 易于集成和扩展:Spring框架与许多流行的第三方库和框架(如Hibernate、MyBatis、Struts等)都有很好的集成支持,使得开发者可以轻松地将Spring框架与其他技术栈结合使用。同时,Spring框架的模块化设计也允许开发者根据自己的需求进行选择和扩展。

Spring的应用场景

Spring框架因其强大的功能和灵活性,被广泛应用于各种类型的项目中,包括但不限于:

  • Web应用程序:Spring提供了Spring MVC等模块,支持构建各种规模和类型的Web应用程序。
  • 企业应用程序:Spring框架为企业级应用程序开发提供了丰富的功能支持,如依赖注入、AOP、事务管理等。
  • 大数据应用程序:Spring提供了与大数据平台集成的解决方案,如Spring for Apache Hadoop等。
  • 移动应用程序:虽然Spring主要是为Java应用程序提供支持,但也可以通过Spring Boot等框架用于移动应用程序的后端服务开发。

2.2 创建

简单创建一个maven项目

写好名字和组ID

完成

3. springmvc

3.1 介绍

Spring MVC是Spring框架的一个重要模块,它实现了MVC(Model-View-Controller)设计模式,用于简化Web应用的开发。以下是对Spring MVC的详细解析:

一、Spring MVC的基本概念

  1. MVC设计模式

    MVC是一种将应用程序分为三个核心部分的软件设计模式,即模型(Model)、视图(View)和控制器(Controller)。模型负责业务逻辑和数据管理,视图负责数据的展示,控制器负责接收用户的输入并调用模型和视图去完成用户的请求。

  2. Spring MVC概述

    Spring MVC是Spring框架的一部分,它属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC通过一套注解,让一个简单的Java类成为处理请求的控制器,而无需实现任何接口。同时,它还支持Restful编程风格的请求,并提供了构建Web应用程序的全功能MVC模块。

二、Spring MVC的主要组件

Spring MVC的主要组件包括:

  • DispatcherServlet:前端控制器,负责接收所有请求并分发到相应的处理器。
  • HandlerMapping:处理器映射器,负责将请求映射到相应的处理器。
  • Handler:处理器,负责处理具体的请求。
  • HandlerAdapter:处理器适配器,负责调用处理器的方法。
  • ViewResolver:视图解析器,负责将处理器返回的结果解析为视图。
  • View:视图,负责将结果显示给用户。

三、Spring MVC的优点

  • 轻量级:Spring MVC是轻量级的,使用起来相对灵活。
  • 开发效率高:通过注解和自动装配,减少了XML配置的工作量,提高了开发效率。
  • 灵活性好:支持多种视图技术,如JSP、Velocity、FreeMarker等。
  • 易于测试:Spring MVC的控制器是POJO,易于编写单元测试。
  • 支持Restful风格:方便构建RESTful风格的Web应用。

四、Spring MVC的使用场景

Spring MVC适用于构建企业级Web应用,特别是在需要实现MVC模式进行Web开发的场景下。它可以与Spring框架的其他模块(如Spring ORM、Spring Security等)无缝集成,构建出功能强大、易于维护的Web应用。

五、Spring MVC与Spring Boot的关系

Spring Boot是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快、更高效的开发生态系统铺平了道路。Spring Boot包含了Spring MVC作为其Web开发的模块之一,使得开发者可以更加便捷地构建Web应用。

3.2 创建

1.创建maven项目和maven web模块(File-New-project)

填写名称和组ID

选择仓库

补齐文件包

修改web.xml

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

点击右上角,添加配置

添加tomcat本地

修改端口,不要冲突了

点击部署,添加工作源

创建完成!!!

4. springboot

4.1 简介

Spring Boot是Spring开源组织下的一个子项目,是Spring组件的一站式解决方案。它主要简化了使用Spring的难度,减少了繁重的配置,并提供了各种启动器(Starters),使得开发者能够快速上手和进行项目开发。以下是对Spring Boot的详细介绍:

一、概述

  • 定义:Spring Boot旨在通过提供大量的默认配置和自动配置,来简化Spring应用的初始搭建以及开发过程。它不是一个对Spring功能上的增强,而是一种快速使用Spring的方式。
  • 官网:Spring Boot官网
    二、特点
  • 独立运行:Spring Boot内嵌了多种Servlet容器(如Tomcat、Jetty或Undertow),使得应用可以直接打包成jar包,通过命令java -jar xx.jar独立运行,无需部署到外部容器中。
  • 简化部署:Spring Boot提供了一系列的"starter"项目对象模型(POMs),用于简化Maven或Gradle的配置。通过添加相应的starter依赖,可以自动引入所需的库和配置。
  • 自动配置:Spring Boot能够根据当前类路径下的类、jar包来自动配置Bean,如添加spring-boot-starter-web启动器就能自动配置Web环境,无需其他配置。
  • 无代码生成及XML配置:Spring Boot配置过程中无需代码生成,也无需XML配置文件,而是依赖于条件注解和自动配置来实现配置。
  • 应用监控:Spring Boot提供了一系列端点(Endpoints),用于监控服务及应用,进行健康检测等。

三、优点

  • 简化项目配置:通过自动配置提供默认配置,减少开发人员手动配置的工作量。
  • 快速开发:提供丰富的开发工具和插件,支持热部署,提高开发效率。
  • 微服务架构支持:通过Spring Cloud提供微服务组件,如服务注册与发现、负载均衡、断路器等,支持构建微服务架构。
  • 自动装配:根据用户的依赖和配置自动装配和注入所需的Bean,减少手动配置工作。
  • 健康监测与管理:提供完善的健康监测和管理机制,监控应用程序的运行状况。
  • 强大的社区支持:由Spring团队开发和维护,拥有庞大的开源社区支持,提供丰富的资源、文档和教程。
  • 测试支持:提供强大的测试支持,可以轻松编写和执行各种类型的测试。

四、缺点

  • 虽然上手容易,但如果不了解其核心技术及流程,一旦遇到问题可能会比较棘手,且解决方案相对较少,需要一个完善的过程。

4.2 创建(仅仅就其中一种)



创建完成!!!

5. 其他:maven

Maven是一个强大的项目管理和构建工具,主要用于Java项目的构建、依赖管理和项目信息管理。以下是对Maven的详细介绍:

一、Maven的基本功能

  1. 项目管理和构建:Maven能够管理项目的构建、报告和文档,提供了一个清晰的项目结构。它使用约定俗成的目录结构,使得所有的项目都有相同的目录布局,有助于开发人员对项目结构有明确的认识,更容易理解和维护代码。
  2. 依赖管理:Maven通过一个文本文件(通常被称为pom.xml)来定义项目的依赖关系。开发人员只需要在pom.xml文件中指定所需的依赖,Maven就能自动下载并导入这些依赖。这大大减少了手动管理项目依赖的复杂性和出错的可能性。
  3. 自动化构建:Maven提供了一套默认的构建生命周期和插件,以帮助开发人员自动化构建和测试过程。通过简单的命令行操作,就可以完成项目的编译、测试、打包和部署等任务。
  4. 多模块项目管理:Maven支持多模块项目的构建和管理,可以将多个相关的项目组织成一个项目,方便统一管理和构建。
  5. 插件扩展性:Maven有丰富的插件生态系统,开发人员可以通过自定义插件来扩展Maven的功能,满足项目的特定需求。
  6. 跨平台构建:Maven的构建过程是跨平台的,无论是在Windows、Linux还是Mac OS上,都能保证相同的构建结果。
  7. 集成版本控制系统:Maven可以与版本控制系统(如Git)集成,方便管理项目的版本和发布。
  8. 部署和发布:Maven提供了一套完整的部署和发布机制,开发人员可以通过简单的命令将项目发布到本地仓库或者远程仓库。

二、Maven的工作原理

Maven通过项目对象模型(POM)来管理项目。POM是一个XML文件,位于项目根目录下,文件名为pom.xml。它包含了项目的配置信息、依赖关系、构建配置等。Maven在构建项目时,会读取pom.xml文件,并根据其中的配置信息来执行相应的构建任务。

Maven的仓库分为本地仓库、远程仓库和中央仓库。本地仓库是Maven在本地计算机上存储所有已下载的插件和依赖的地方。远程仓库可以是任何位置的仓库,用于存储Maven可访问的插件和依赖。中央仓库是由Maven社区维护的一个远程仓库,包含了大量的插件和依赖。

当Maven需要构建项目时,它会首先检查本地仓库中是否有所需的插件和依赖。如果没有,Maven会从远程仓库或中央仓库中下载它们,并存储在本地仓库中以便将来使用。

三、Maven的常用命令

  1. mvn compile:编译项目,将项目的源代码编译成可执行的文件。
  2. mvn test:运行项目的单元测试,验证代码的正确性。
  3. mvn package:打包项目,将项目编译后的文件打包成可发布的格式,如JAR、WAR等。
  4. mvn install:安装项目到本地Maven仓库,以便其他项目可以引用它。
  5. mvn deploy:将项目发布到远程Maven仓库,以便其他团队或项目可以引用它。

四、Maven的优势

  • 简化构建过程:Maven通过自动化构建和依赖管理,大大简化了Java项目的构建过程。
  • 提高开发效率:开发人员可以专注于业务逻辑的实现,而不需要花费大量时间处理项目构建和依赖管理等问题。
  • 促进团队协作:Maven提供了一个标准化的项目结构和构建流程,有助于团队成员之间的协作和沟通。
  • 增强项目的可维护性:通过清晰的项目结构和依赖管理,Maven提高了项目的可维护性和可重用性。

6. 参考链接

搭建SpringBoot项目三种方式(超详细版)

相关推荐
四谎真好看1 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
桦说编程1 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
java_t_t1 小时前
ZIP工具类
java·zip
lang201509282 小时前
Spring Boot优雅关闭全解析
java·spring boot·后端
pengzhuofan3 小时前
第10章 Maven
java·maven
百锦再3 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
刘一说3 小时前
Spring Boot 启动慢?启动过程深度解析与优化策略
java·spring boot·后端
壹佰大多4 小时前
【spring如何扫描一个路径下被注解修饰的类】
java·后端·spring
百锦再4 小时前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven
DokiDoki之父4 小时前
Spring—注解开发
java·后端·spring