>  기사  >  Java  >  SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

WBOY
WBOY앞으로
2023-05-11 09:25:051623검색

    SpringBoot 개요

    SpringBoot는 Pivotal 팀에서 제공하는 새로운 프레임워크로 Spring 애플리케이션의 초기 구성 및 개발 프로세스를 단순화하도록 설계되었습니다. SpringBoot 是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。

    大家已经感受了 SpringBoot 程序,回过头看看 SpringBoot 主要作用是什么,就是简化 Spring 的搭建过程和开发过程。

    原始 Spring 环境搭建和开发存在以下问题:

    • 配置繁琐依赖

    • 设置繁琐

    SpringBoot 程序优点恰巧就是针对 Spring 的缺点

    • 自动配置。这个是用来解决 Spring 程序配置繁琐的问题

    • 起步依赖。这个是用来解决 Spring 程序依赖设置繁琐的问题

    • 辅助功能(内置服务器,…)。我们在启动 SpringBoot 程序时既没有使用本地的 tomcat 也没有使用 tomcat 插件,而是使用 SpringBoot 内置的服务器。

    接下来我们来说一下 SpringBoot 的起步依赖

    起步依赖

    我们使用 Spring Initializr 方式创建的 Maven 工程的的 pom.xml 配置文件中自动生成了很多包含 starter 的依赖,如下图

    SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    这些依赖就是启动依赖,接下来我们探究一下他是如何实现的。

    探索父工程

    从上面的文件中可以看到指定了一个父工程,我们进入到父工程,发现父工程中又指定了一个父工程,如下图所示

    SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    再进入到该父工程中,在该工程中我们可以看到配置内容结构如下图所示

    SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    上图中的 properties 标签中定义了各个技术软件依赖的版本,避免了我们在使用不同软件技术时考虑版本的兼容问题。在 properties 中我们找 servletmysql 的版本如下图

    SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    dependencyManagement 标签是进行依赖版本锁定,但是并没有导入对应的依赖;如果我们工程需要那个依赖只需要引入依赖的 groupidartifactId 不需要定义 version

    build 标签中也对插件的版本进行了锁定,如下图

    SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    看完了父工程中 pom.xml 的配置后不难理解我们工程的的依赖为什么都没有配置 version

    探索依赖

    在我们创建的工程中的 pom.xml 中配置了如下依赖

    SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    进入到该依赖,查看 pom.xml 的依赖会发现它引入了如下的依赖

    SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    里面的引入了 spring-webspring-webmvc 的依赖,这就是为什么我们的工程中没有依赖这两个包还能正常使用 springMVC 中的注解的原因。

    而依赖 spring-boot-starter-tomcat ,从名字基本能确认内部依赖了 tomcat,所以我们的工程才能正常启动。

    结论:以后需要使用技术,只需要引入该技术对应的起步依赖即可

    小结

    starter

    • SpringBoot 中常见项目名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的

    parent

    • 所有 SpringBoot

      모두가 SpringBoot 프로그램을 경험해 봤습니다. SpringBoot의 주요 기능, 즉 Spring의 구성과 개발 과정을 단순화하는 것이 무엇인지 살펴보겠습니다. . 🎜🎜원래 Spring 환경 구축 및 개발에는 다음과 같은 문제가 있습니다. 🎜
      • 🎜구성이 번거롭고 종속성이 있습니다🎜
      • 🎜설정이 번거롭다🎜
      • 🎜🎜SpringBoot 프로그램의 장점이 Spring의 단점이 되기도 합니다 🎜
        • 🎜자동 구성. 이는 Spring 프로그램🎜
        • 🎜종속성 시작의 번거로운 구성 문제를 해결하는 데 사용됩니다. 이는 Spring 프로그램 종속성🎜
        • 🎜보조 기능(내장 서버,…)의 번거로운 설정 문제를 해결하는 데 사용됩니다. SpringBoot 프로그램을 시작할 때 로컬 tomcat이나 tomcat 플러그인을 사용하지 않고 SpringBoot를 사용했습니다. > 내장 서버. 🎜
        • 🎜🎜다음으로 SpringBoot의 시작 종속성에 대해 이야기해 보겠습니다.🎜

          종속성 시작

          🎜Spring Initializr 메서드를 사용하여 생성했습니다Maven 프로젝트의 pom.xml 구성 파일은 아래와 같이 starter를 포함하는 많은 종속성을 자동으로 생성합니다🎜🎜SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법🎜🎜이 종속성은 시작 종속성이므로 다음에 살펴보겠습니다. 그가 어떻게 그것을 달성했는지 살펴보세요. 🎜
          상위 프로젝트 탐색
          🎜위 파일에서 상위 프로젝트가 지정되어 있는 것을 확인할 수 있습니다. 상위 프로젝트에 들어가 보면 다음과 같이 상위 프로젝트에 다른 상위 프로젝트가 지정되어 있는 것을 알 수 있습니다. 아래 그림🎜🎜🎜🎜그런 다음 상위 프로젝트에 들어가면 이 프로젝트에서 아래와 같이 구성 콘텐츠 구조를 볼 수 있습니다🎜🎜SpringBoot 공식 홈페이지 구축 및 빠른 시작 문제 해결 방법🎜🎜위 그림의 properties 태그는 각 기술 소프트웨어 종속성 버전을 정의하며, 이는 다른 소프트웨어 기술을 사용하는 것을 방지합니다. 버전 호환성 문제를 고려하십시오. 속성에서 아래와 같이 servletmysql 버전을 찾을 수 있습니다🎜🎜SpringBoot 공식 홈페이지 구축 및 빠른 시작 문제 해결 방법🎜🎜dependentManagement 태그는 의존성 버전 잠금을 위한 태그입니다. 하지만 해당 종속성을 가져오지는 않습니다. 프로젝트에 해당 종속성이 필요한 경우 종속성의 groupidartifactId만 도입하면 됩니다. 버전. 🎜🎜build 태그는 아래와 같이 플러그인 버전도 잠급니다🎜🎜SpringBoot 공식 홈페이지 구축 및 빠른 시작 문제 해결 방법🎜🎜상위 프로젝트의 pom.xml 구성을 읽어보면 어렵지 않습니다. 우리 프로젝트가 version에 의존하는 이유를 이해하세요. 어느 쪽도 구성되지 않았습니다. 🎜
          종속성 탐색
          🎜다음 종속성은 우리가 만든 프로젝트의 pom.xml에 구성됩니다🎜🎜SpringBoot 공식 홈페이지 구축 및 빠른 시작 문제 해결 방법🎜🎜종속성으로 이동하여 pom.xml 다음과 같은 종속성을 소개합니다🎜🎜<img src="https://img.php.cn/upload/article/000/887/227/168376831086142.png" alt="SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제 해결 방법 ">🎜🎜 <code>spring-webspring-webmvc의 종속성이 도입되었습니다. 이것이 우리 프로젝트가 의존하지 않고도 계속 작동할 수 있는 이유입니다. 이 두 패키지는 springMVC에서 주석을 정상적으로 사용하는 이유입니다. 🎜🎜그리고 spring-boot-starter-tomcat에 의존하고 있다는 것을 이름에서 보면 기본적으로 내부적으로 tomcat에 의존하고 있음을 확인할 수 있어 프로젝트가 정상적으로 시작될 수 있습니다. 🎜🎜결론: 미래에 기술을 사용해야 한다면 기술에 해당하는 시작 종속성만 도입하면 됩니다🎜
          요약
          🎜starter🎜
          • 🎜SpringBoot 일반적인 프로젝트 이름은 종속성 구성을 줄이기 위해 현재 프로젝트에서 사용하는 모든 프로젝트 좌표를 정의합니다🎜
          • 🎜🎜부모 🎜
            • 🎜 SpringBoot 프로젝트가 상속할 모든 프로젝트는 여러 좌표 버전 번호(종속성이 아닌 종속성 관리)를 정의하여 목적을 달성합니다. 의존성 충돌 감소🎜
            • spring-boot-starter-parent(2.5.0) 및 spring-boot-starter-parent(2.4.6)에는 총 57개의 서로 다른 좌표 버전이 있습니다. spring-boot-starter-parent(2.5.0)与 spring-boot-starter-parent(2.4.6)共计57处坐标版本不同

            实际开发

            使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供

            G:groupid

            A:artifactId

            V:version

            如发生坐标错误,再指定version(要小心版本冲突)

            程序启动

            创建的每一个 SpringBoot 程序时都包含一个类似于下面的类,我们将这个类称作引导类

            @SpringBootApplication
            public class Springboot01QuickstartApplication {
                
                public static void main(String[] args) {
                    SpringApplication.run(Springboot01QuickstartApplication.class, args);
                }
            }

            注意:

            • SpringBoot 在创建项目时,采用jar的打包方式

            • SpringBoot 的引导类是项目的入口,运行 main 方法就可以启动项目

            因为我们在 pom.xml 中配置了 spring-boot-starter-web 依赖,而该依赖通过前面的学习知道它依赖 tomcat ,所以运行 main 方法就可以使用 tomcat 启动咱们的工程。

            切换web服务器

            现在我们启动工程使用的是 tomcat 服务器,那能不能不使用 tomcat 而使用 jetty 服务器,jetty 在我们 maven 高级时讲 maven 私服使用的服务器。而要切换 web 服务器就需要将默认的 tomcat 服务器给排除掉,怎么排除呢?使用 exclusion 标签

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                        <groupId>org.springframework.boot</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

            现在我们运行引导类可以吗?运行一下试试,打印的日志信息如下

            SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

            程序直接停止了,为什么呢?那是因为排除了 tomcat 服务器,程序中就没有服务器了。所以此时不光要排除 tomcat 服务器,还要引入 jetty 服务器。在 pom.xml 中因为 jetty 的起步依赖

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jetty</artifactId>
            </dependency>

            接下来再次运行引导类,在日志信息中就可以看到使用的是 jetty 服务器

            SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

            小结:
            通过切换服务器,我们不难发现在使用 SpringBoot 换技术时只需要导入该技术的起步依赖即可。

            spring与springboot的对比

            我们前文做完入门案例后,可以发现两者有很大的不同:

            SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

            坐标

            • Spring 程序中的坐标需要自己编写,而且坐标非常多

            • SpringBoot 程序中的坐标是我们在创建工程时进行勾选自动生成的

            web3.0配置类

            • Spring 程序需要自己编写这个配置类。这个配置类大家之前编写过,肯定感觉很复杂

            • SpringBoot 程序不需要我们自己书写

            配置类

            • Spring/SpringMVC 程序的配置类需要自己书写。而 SpringBoot 程序则不需要书写。

            注意:基于Idea的 Spring Initializr 快速构建 SpringBoot 工程时需要联网。

            官网构建工程

            在入门案例中之所以能快速构建 SpringBoot 工程,是因为 Idea 使用了官网提供了快速构建 SpringBoot 工程的组件实现的。那如何在官网进行工程构建呢?通过如下步骤构建

            进入SpringBoot官网

            进入到 SpringBoot 官网后拖到最下方就可以看到如下内容

            SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

            然后点击 Spring Initializr 超链接就会跳转到如下页面

            SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

            这个页面内容是不是感觉很眼熟的,这和我们使用 Idea 快速构建 SpringBoot 工程的界面基本相同。在上面页面输入对应的信息

            选择依赖

            选择 Spring Web 可以点击上图右上角的 ADD DEPENDENCIES... CTRL + B

          🎜실제 개발🎜🎜임의 좌표를 사용할 경우 GAV에 G와 A만 작성하고 V는 SpringBoot에서 제공합니다🎜
          🎜G: groupid🎜🎜A: ArtifactId🎜 🎜V :version🎜
          🎜좌표 오류가 발생하면 버전을 다시 지정하세요(버전 충돌 주의)🎜

          프로그램 시작

          🎜생성된 모든 SpringBoot 프로그램에는 다음이 포함됩니다. a 다음 클래스와 유사하게 이 클래스를 boot 클래스라고 부릅니다. 🎜
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
          🎜참고: 🎜
            🎜🎜SpringBoot 프로젝트를 생성할 때 jar Packaging을 사용하세요. method🎜🎜🎜🎜SpringBoot의 부팅 클래스는 프로젝트의 진입점입니다. main 메서드를 실행하면 프로젝트가 시작될 수 있습니다🎜🎜
          🎜 pom에서 <code>spring-boot-starter-web 종속성은 .xml에 구성되며 이 종속성은 이전 연구를 통해 tomcat에 의존한다는 것을 알고 있습니다. code>이므로 <code>main 메소드를 실행하면 tomcat을 사용하여 프로젝트를 시작할 수 있습니다. 🎜

          웹 서버 전환

          🎜이제 tomcat 서버를 사용하여 프로젝트를 시작합니다. tomcat 대신 jetty를 사용할 수 있나요? code> 서버, jetty는 고급 maven에 관해 이야기할 때 maven 개인 서버에서 사용하는 서버입니다. 서버를 전환하려면 기본 tomcat 서버를 제외해야 합니다. 어떻게 제외하나요? exclusion 태그를 사용하세요🎜
          java -jar 包名.jar
          🎜이제 부트스트랩 클래스를 실행해 보겠습니다. 알겠죠? 실행해 보면 출력되는 로그 정보는 다음과 같습니다🎜🎜SpringBoot 공식 홈페이지 빌드, 빠른 시작 문제 해결 방법🎜🎜프로그램이 바로 멈췄는데 왜죠? tomcat 서버를 제외하면 프로그램에 서버가 없기 때문입니다. 따라서 이번에는 tomcat 서버를 제외해야 할 뿐만 아니라, jetty 서버도 도입해야 합니다. pom. SpringBoot 공식 웹사이트 구축 및 빠른 시작" / >🎜
          🎜요약:
          서버를 전환하면 SpringBoot를 사용하여 변경할 때 쉽게 찾을 수 있습니다. 기술의 시작 종속성만 가져오면 됩니다. 🎜

          spring과 springboot의 비교

          🎜위의 소개 사례를 완료한 후 둘 사이에 큰 차이점이 있음을 알 수 있습니다.🎜🎜SpringBoot 공식 홈페이지 구축 및 빠른 시작 문제 해결 방법🎜🎜좌표🎜
            🎜🎜Spring 프로그램의 좌표는 직접 작성해야 하는데 좌표가 많습니다🎜🎜🎜🎜SpringBoot 프로그램의 좌표는 프로젝트를 생성할 때의 좌표입니다. 자동으로 생성된 🎜🎜
          🎜web3.0 구성 클래스🎜
            🎜🎜를 확인하세요. Spring 프로그램이 필요합니다. 이 구성 클래스를 직접 작성하세요. 누구나 이 구성 클래스를 작성해 본 적이 있을 것이고 매우 복잡하게 느껴질 것입니다🎜🎜🎜🎜SpringBoot 프로그램을 직접 작성할 필요는 없습니다🎜🎜
          🎜구성 클래스 Strong>🎜
            🎜🎜Spring/SpringMVC 프로그램의 구성 클래스는 직접 작성해야 합니다. SpringBoot 프로그램을 작성할 필요가 없습니다. 🎜🎜
          🎜참고: SpringBoot 프로젝트를 빠르게 빌드하려면 Idea 기반의 Spring Initializr가 인터넷에 연결되어 있어야 합니다. 🎜

          공식 홈페이지 구축 프로젝트

          🎜입문의 경우 SpringBoot 프로젝트를 빠르게 구축할 수 있는 이유는 Idea가 공식 홈페이지에서 제공하는 리소스를 이용하여 SpringBoot 프로젝트의 컴포넌트를 빠르게 구축해보세요. 그렇다면 공식 웹사이트에서 프로젝트를 구축하는 방법은 무엇입니까? 다음 단계를 통해 빌드하세요🎜

          SpringBoot 공식 홈페이지에 들어가세요

          🎜SpringBoot 공식 홈페이지에 들어가셔서 하단으로 드래그하시면 다음 내용을 보실 수 있습니다🎜🎜SpringBoot 공식 홈페이지 구축 및 빠른 시작 문제 해결 방법🎜🎜그런 다음 를 클릭하세요. Spring 초기화
          하이퍼링크 다음 페이지로 이동합니다🎜🎜무엇입니까? SpringBoot 공식 웹사이트 구축 및 빠른 시작에 문제가 있나요? 해결 방법🎜🎜이 페이지의 내용이 익숙해 보입니까? SpringBoot 프로젝트를 빠르게 빌드하는 데 사용하는 인터페이스와 기본적으로 동일합니다. 코드>아이디어. 위 페이지에서 해당 정보를 입력하세요🎜

          종속성 선택

          🎜Spring Web을 선택하고 오른쪽 상단의 ADD DEPENDENCIES... CTRL + B를 클릭하세요. 위 버튼의 그림 모서리에 다음 인터페이스가 나타납니다🎜

          SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

          生成工程

          以上步骤完成后就可以生成 SpringBoot 工程了。在页面的最下方点击 GENERATE CTRL + 回车 按钮生成工程并下载到本地,如下图所示

          SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

          打开下载好的压缩包可以看到工程结构和使用 Idea 生成的一模一样,如下图

          SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

          而打开 pom.xml 文件,里面也包含了父工程和 Spring Web 的依赖。

          通过上面官网的操作,我们知道 Idea 中快速构建 SpringBoot 工程其实就是使用的官网的快速构建组件,那以后即使没有 Idea 也可以使用官网的方式构建 SpringBoot 工程。

          SpringBoot工程快速启动

          问题引入

          SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

          以后我们和前端开发人员协同开发,而前端开发人员需要测试前端程序就需要后端开启服务器,这就受制于后端开发人员。为了摆脱这个受制,前端开发人员尝试着在自己电脑上安装 TomcatIdea ,在自己电脑上启动后端程序,这显然不现实。

          我们后端可以将 SpringBoot 工程打成 jar 包,该 jar 包运行不依赖于 TomcatIdea 这些工具也可以正常运行,只是这个 jar 包在运行过程中连接和我们自己程序相同的 Mysql 数据库即可。这样就可以解决这个问题,如下图

          SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

          那现在问题是如何打包呢?

          打包

          由于我们在构建 SpringBoot 工程时已经在 pom.xml 中配置了如下插件

          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>

          所以我们只需要使用 Mavenpackage 指令打包就会在 target 目录下生成对应的 Jar 包。

          注意:该插件必须配置,不然打好的 jar 包也是有问题的。

          启动

          进入 jar 包所在位置,在 命令提示符 中输入如下命令

          java -jar 包名.jar

          执行上述命令就可以看到 SpringBoot 运行的日志信息

          SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법

    위 내용은 SpringBoot 공식 웹사이트 구축 및 빠른 시작 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제