历史背景
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的快速启动说明操作
一般后台和后台管理系统是必须的,先从这一部分开始
后台管理web页
Spring Boot提供了一种超级简单的部署方式,就是直接将应用打成jar包,在生产上只需要执行java -jar就可以运行了。
一般情况下,如果我们的应用只是作为一个服务、工具类、API的形式存在,那么我们一般将其打包成jar包。而如果我们的应用是一个Web应用,都是打成war包(上面所说的后台管理web页),进行发布,同时如果我们的服务器是Tomcat等轻量级服务器,一般都打成war包进行发布;
命令参数
上面列举的只是比较通用的命令,其实很多命令都可以携带参数以执行更精准的任务。
Maven命令可携带的参数类型如下:
- -D 传入属性参数
比如命令:
mvn package -Dmaven.test.skip=true
以-D开头,将maven.test.skip的值设为true,就是告诉maven打包的时候跳过单元测试。同理,mvn deploy-Dmaven.test.skip=true代表部署项目并跳过单元测试。 - -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。
- -e 显示maven运行出错的信息
- -o 离线执行命令,即不去远程仓库更新包
- -X 显示maven允许的debug信息
- -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 编写
下载安装
验证安装
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, 此时进入管理后台登录页面。
网友评论