首页 > 其他分享 >Spring boot2 项目相关

Spring boot2 项目相关

时间:2023-06-06 12:55:09浏览次数:53  
标签:项目 spring boot springframework boot2 Spring org starter

1、首先通过Idea创建一个Maven项目,参考IDEA Maven父子项目操作(不是微服务架构,所以参考子项目的创建即可).

 

2、修改pom.xml 导入spring boot2相关的依赖

(1)、引入spring boot2框架 

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
</parent>

https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.pom

 

(2)、引入web开发场景启动器  spring-boot-starter-web  

注:spring boot提供了若干场景启动器,命名规则spring-boot-starter-*,类似abp的组合模块,方便快速开发

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

这里通过idea点击进入该场景启动器,可以看到如下依赖

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>2.3.4.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-json</artifactId>
      <version>2.3.4.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.3.4.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.2.9.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.9.RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

引入了web开发相关的依赖如tomcat等

https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.dependencies

 

3、依赖管理

根据2中通过xml引入的spring-boot父项目,如下xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
</parent>

通过idea点击父项目信息

 可以看到父项目依然有父项目,继续点击查看.

 可以看到properties节点下面定义了很多Maven自定义属性,这个属性就是控制spring-boot引入的工具包的版本,如下:

 这其实就是maven父子项目依赖管理的方式,参考Maven 父子项目

 

4、子项目修改Spring boot项目引用的默认组件依赖版本.

因为通过pom引入spring boot2,spring boot2会引入框架默认依赖的所有组件,方便开发,也是约定大于配置的一种体现,但是有些特殊业务需求,某个模块需要升级某一个组件的版本,这里拿junit组件举例,spring boot2默认引用

 如果项目中需要junit,其pom.xml如下:

 那么项目默认会使用spring boot2中的junit版本

参考父子项目,如果此时需要在项目中使用自定义的junit版本不使用spring boot2给定的版本,可以使用如下两种方式:

(1)、修改pom.xml如下:

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>

 

(2)、改写pom.xml的自定义属性

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <junit.version>4.11</junit.version>
  </properties>

 

5、编写Application启动类,类似abp的启动类

package com.company.springboo2learn;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

@SpringBootApplication 注解代表这是一个Spring boot应用

 

6、编写Restful 控制器和netcore mvc类似

@RestController
public class HelloController
{
    @RequestMapping("/hello")
    public String home() {
        return "hello spring boot2!";
    }
}

 

7、启动应用

找到3中的启动类

 运行即可.

 运行访问均成功.

 

8、创建可执行的jar包并部署 类似netcore的单文件部署

Spring boot提供了fat jar的概念,打包了tomcat和相关运行时方便快速发布,修改pom.xml新增如下节点

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

https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.executable-jar

操作idea或者命令行执行mvn clean packeage执行打包操作

 打包成功会在target目录(类似netcore项目的bin)生成一个jar包,cmd定位到包目录,执行如下代码:

 部署访问成功.

标签:项目,spring,boot,springframework,boot2,Spring,org,starter
From: https://www.cnblogs.com/GreenLeaves/p/17457960.html

相关文章

  • SpringBoot 大型线上商城项目实战总结
    SpringBoot大型线上商城项目实战总结知识点和可以借鉴到自己项目的点:分页逻辑的处理操作​ 这里没有使用封装好的分页处理的相关工具类,而是自己去写分页封装的逻辑代码,帮助我们去了解分页操作的底层逻辑。​ 一个是PageQueryUtil工具类,这个工具类是作为分页查询操作的一个"参......
  • 关于用eclipse 开发 vue项目
    步骤:1、下载node的插件  2、下载vue插件 3、部署  ......
  • yolov5项目cuda错误解决
    CUDA报错解决#报错详情AssertionError:CUDAunavailable,invaliddevice0requested查看cuda版本先看一下电脑是否支持GPU,打开任务管理器就能查看(ctrl+shift+esc)#cmd命令nvcc--version#如果上面命令不是内部或外部命令,也不是可运行的程序,就输入下面的命令NVIDIA-......
  • 信创操作系统--麒麟Kylin桌面操作系统 (项目十三 使用 Windows 软件)
    1.Wine介绍Wine是“wineIsNotanEmulator”的首字母缩写,它是一个能够在多种POSIX兼容操作系统(如Linux、macOS以及BSD等操作系统)上运行Windows应用程序的兼容层,是一个开源软件。Wine不像虚拟机软件一样模拟整个Windows操作系统,而是把WindowsAPI调用动态转换成本......
  • 关于环境配置的步骤:VS+VS Code 网页项目
    1、下载nvm安装包并且安装//网址:https://github.com/coreybutler/nvm-windows/releases//下载的对象:nvm-setup.zip//下载完后解压,双击nvm-setup.exe,根据向导指引安装。//命令行验证:nvm-v//安装成功将显示Runningversionx.x.x(版本号)2、VSCode配置//打开......
  • SpringMVC里通过ResponseBodyAdvice接口实现统一自定义返回逻辑
    这个org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice接口。publicinterfaceResponseBodyAdvice<T>{//返回true代表走自定义逻辑booleansupports(MethodParameterreturnType,Class<?extendsHttpMessageConverter<?>>converte......
  • 如何新建gitLab仓库并把本地项目推送到远程仓库
    @@本地新项目推gitlab 上篇我们讲了如何新建一个vue3.0项目,现在我们把新建的本地项目,推送到gitLab仓库上。首先先讲下,如何新建gitLab项目:登录gitLab,进入主页后,右上角有个“NewProject”的按钮:  点击按钮,进入创建仓库页面: 可根据具体需求选择对应配置项,填写好......
  • 第八篇:gitlab创建项目并且本地下载和推送
    @@giltlab创建项目本地推送 说明:总的目标是在k8s集群部署gitlab、jenkins,并且在本地提交代码到gitlab后jenkin流水线可以自动编译打包成为docker镜像然后部署到k8s中并实现客户端外部域名访问,在文档分为多个部分,其中涉及的技术有docker安装、k8s搭建、部署gitlab、部署jenki......
  • Jenkins+Docker 一键自动化部署项目!【转】
    本文章实现最简单全面的Jenkins+docker+springboot一键自动部署项目,步骤齐全,少走坑路。环境:centos7+git(gitee)简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。安装dockerdocker安装社区版本CE确保yum包更新......
  • springboot 整合websocket
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>@ConfigurationpublicclassWebsocketConfig{@BeanpublicSe......