简单的springboot项目

项目发布流程:
后端:
1、在ides工具中打jar包
2、连接服务器,查看端口:netstat -lanp;根据端口杀死进程:kill -9 进程号;上传命令rz或者工具,将jar上传到服务器上
3、运行jar包:nohup java -jar>edlog.out2>&1&
4、查询日志:tail -n 50 nohup.out,查看运行日志

前端:
1、工具7zip生成tar.gz文件
2、上传到服务器,命令rz
3、复制进docker容器中对应的文件:docker cp /root/dist.tar.gz 容器id:docker内文件路径
4、进入容器内:docker exec it bf19a0a /bin/bash(bf19a0a为容器id,docker ps查看)
5、删除原文件:rm -rf 文件名,(保留tar.gz文件);解压复制进去的.tar.gz文件:tar -zxcf .tar.gz文件
6、退出容器:exit;重启docker容器:docker start 容器id;停止容器:docker stop 容器id

docker打包
后端是开发工具idea打成jar包直接放到服务器运行的
前端打成后缀为gz的包复制到docker相应的文件中然后 进去docker解压 退出docker然后重新启动docker

一、环境

  • Java 8
  • Maven 3.3+
  • idea 2018(个人)

环境要先安装好。

1、关于 maven 配置

配置本地仓库

官网下载好 zip 包后解压,然后里面新建一个仓库目录 repository

打开 conf 目录下的 配置文件 settings.xml

在第 55 行的位置号,配置上你的repository路径。

配置阿里云镜像

继续在配置文件里,配置阿里云的镜像。

  <mirrors>
      <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  </mirrors>
 
  <profiles>
         <profile>
              <id>jdk-1.8</id>
              <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
              </activation>
              <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
              </properties>
         </profile>
  </profiles>

这里的profiles是指定使用 jdk 1.8进行编译,以防开发中出现一些其他的问题。找个空位置粘贴即可。

二、编写 helloworld

1. idea 设置 maven

打开 idea 的 Settings,把本地的 maven 设置好。

2. 创建 maven 项目

下一步:

点击 finish 结束。

3. pom 中导入父工程

打开pom.xml<project>中导入。

    <!--导入父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>

4. 添加依赖

之前开发个 web 要导一大堆,现在只要在<project>添加一个依赖即可。仍然是在pom.xml中:

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

导入完成后,点开这里的库,会发现该有的都有了。

如果没有依赖,原因可能是:IDEA内置了Maven环境,默认采用Maven解决项目依赖问题。在新建项目后,项目的路径中会生成pom.xml文件和项目名.iml文件。新建项目后,IDEA不会自动刷新Maven的依赖。

刷新Maven配置的方法为:右键单击项目,在弹出菜单中选择Maven》》》》Reimport菜单项。

5. 编写代码

目录结构如下图:

(1)主程序类

package com.pingguo.boot;

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

// 标记这是一个 springboot应用,这个类是主程序类,所有启动的入口
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}

(2)controller
接下来就跟以前一样了,写一个控制器:

package com.pingguo.boot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String Hello() {
        return "Hello SpringBoot2";
    }
}
  • @RestController是一个复合注解,表示@Controller + @ResponseBody。这些知识已经在前面springMVC相关内容中学习过了。

6. 运行程序

直接运行上面写好的主运行程序即可(run MainApplication)。

点击运行:

就是这么简单。

7. 访问请求

打开浏览器访问http://localhost:8080/hello

请求成功。

8. 简化配置

springboot可以最大化简化配置,比如我们可以将未来要使用到的一些配置,全部抽取到一个配置文件里application.properties

在这里,可以修改关于tomcat的一些设置、springMVC相关的设置等等,比如修改tomcat端口号:

server.port=8888

重新启动应用:

这里具体能写哪些配置,详见官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/

已经安排的明明白白的。

9. 简化部署

在之前要部署应用,先得把应用打成 war 包。

现在只要引入一个依赖,就可以直接把项目打成一个可执行的 jar 包,里面包含了运行环境,所以可以直接在目标服务器运行。

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

双击右侧maven》lifecycle》package,打包。

打包完成。

项目目录中的target,已经有了 jar 包(boot-01-helloworld-1.0-SNAPSHOT.jar)。

现在停止刚才运行的服务,直接用 java 运行这个 jar 包尝试一下:

java -jar boot-01-helloworld-1.0-SNAPSHOT.jar

启动成功。

posted @ 2021-09-01 23:13  --D  阅读(393)  评论(0编辑  收藏  举报