美文网首页Spring boot
springboot 构建开发环境与常用命令参数

springboot 构建开发环境与常用命令参数

作者: 三也视界 | 来源:发表于2020-12-01 13:15 被阅读0次

历史背景

J2EE笨重的开发,繁多的配置、低下的开发效率、复杂的部署流程,第三发技术集成难度大。
解决
“Spring全家桶”时代
Spring Boot -> J2EE一站式解决方案
Spring Cloud ->分布式整体解决方案

简介

Spring Boot 来简化Spring应用开发的一个框架,约定大于配置
Spring Boot 的底层用的就是Spring
Spring Boot可以轻松创建可以运行的独立的,基于生产级Spring的应用程序。大大减少了Spring的手动配置
spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,开箱即用
使用Maven或Gradle构建工具

Java三大构建工具:Ant、Maven和Gradle

Maven

以林神的商城项目为例https://github.com/linlinjava/litemall
使用idea或vcode拉去代码,按照github的快速启动说明操作

image.png
一般后台和后台管理系统是必须的,先从这一部分开始
后台管理web页

Spring Boot提供了一种超级简单的部署方式,就是直接将应用打成jar包,在生产上只需要执行java -jar就可以运行了。

一般情况下,如果我们的应用只是作为一个服务、工具类、API的形式存在,那么我们一般将其打包成jar包。而如果我们的应用是一个Web应用,都是打成war包(上面所说的后台管理web页),进行发布,同时如果我们的服务器是Tomcat等轻量级服务器,一般都打成war包进行发布;

命令参数

上面列举的只是比较通用的命令,其实很多命令都可以携带参数以执行更精准的任务。
Maven命令可携带的参数类型如下:

  1. -D 传入属性参数
    比如命令:
    mvn package -Dmaven.test.skip=true
    以-D开头,将maven.test.skip的值设为true,就是告诉maven打包的时候跳过单元测试。同理,mvn deploy-Dmaven.test.skip=true代表部署项目并跳过单元测试。
  2. -P 使用指定的Profile配置
    比如项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,在pom.xml中的配置如下:
<profiles>
      <profile>
             <id>dev</id>
             <properties>
                    <env>dev</env>
             </properties>
             <activation>
                    <activeByDefault>true</activeByDefault>
             </activation>
      </profile>
      <profile>
             <id>qa</id>
             <properties>
                    <env>qa</env>
             </properties>
      </profile>
      <profile>
             <id>pre</id>
             <properties>
                    <env>pre</env>
             </properties>
      </profile>
      <profile>
             <id>prod</id>
             <properties>
                    <env>prod</env>
             </properties>
      </profile>
</profiles>
 
......
 
<build>
      <filters>
             <filter>config/${env}.properties</filter>
      </filters>
      <resources>
             <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
             </resource>
      </resources>
 
      ......

</build>

profiles定义了各个环境的变量id,filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile中定义的值,resources中是定义哪些目录下的文件会被配置文件中定义的变量替换。
通过maven可以实现按不同环境进行打包部署,命令为:
mvn package -P dev
复制代码其中dev为环境的变量id,代表使用Id为dev的profile。

  1. -e 显示maven运行出错的信息
  2. -o 离线执行命令,即不去远程仓库更新包
  3. -X 显示maven允许的debug信息
  4. -U 强制去远程更新snapshot的插件或依赖,默认每天只更新一次

Gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。

它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

支持的语言有Java、Groovy和Scala

Gradle JVM 的富有突破性构建工具,可以通过编程式的编写构建脚本,非 xml 的方式构建项目,适用于相对复杂 Java 项目构建。

特性:

  • 对已有的 maven 和 ivy 仓库的全面支持
  • 支持传递性依赖管理,而不需要远程仓库或者 pom.xml 或者 ivy 配置文件
  • ant 式的任务和构建是 gradle 的第一公民
  • 基于 groovy,其 build 脚本使用 groovy dsl 编写

下载安装

https://gradle.org/releases/

验证安装

gradle -v
image.png image.png

java.sql.SQLException: Access denied for user 'litemall'@'localhost' (using password: YES)


image.png

启动小商场和管理后台的后端服务

打开命令行,输入以下命令

cd litemall
mvn install
mvn clean package
java -Dfile.encoding=UTF-8 -jar litemall-all/target/litemall-all-0.1.0-exec.jar
启动管理后台前端

打开命令行,输入以下命令

npm install -g cnpm --registry=https://registry.npm.taobao.org
cd litemall/litemall-admin
cnpm install
cnpm run dev
此时,浏览器打开,输入网址http://localhost:9527, 此时进入管理后台登录页面。

相关文章

网友评论

    本文标题:springboot 构建开发环境与常用命令参数

    本文链接:https://www.haomeiwen.com/subject/dfwuhktx.html