SpringBoot+Uniapp实战开发全新仿抖音短视频App下———栽
下——栽の地 止:
ukoou.com/resource/1084
什么是 Spring Boot
- 它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须)的理念让你的项目快速运行起来。
- 它并不是什么新的框架,而是默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包一样,Spring Boot 整合了所有框架
使用 Spring Boot 有什么好处
回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:
- 1)配置 web.xml,加载 spring 和 spring mvc
- 2)配置数据库连接、配置日志文件
- 3)配置家在配置文件的读取,开启注解
- 4)配置mapper文件
- .....
而使用 Spring Boot 来开发项目则只需要非常少的几个配置就可以搭建起来一个 Web 项目,并且利用 IDEA 可以自动生成生成,这简直是太爽了...
- 划重点:简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。
SpringBoot+Uniapp实战开发全新仿抖音短视频App- 快速搭建
第一步:新建项目
选择 Spring Initializr ,然后选择默认的 url 点击【Next】:
然后修改一下项目的信息:
勾选上 Web 模板:
选择好项目的位置,点击【Finish】:
如果是第一次配置 Spring Boot 的话可能需要等待一会儿 IDEA 下载相应的 依赖包,默认创建好的项目结构如下:
项目结构还是看上去挺清爽的,少了很多配置文件,我们来了解一下默认生成的有什么:
- SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序
- SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文
- application.properties:一个空的 properties 文件,可以根据需要添加配置属性
- pom.xml: Maven 构建说明文件
第二步:HelloController
在【cn.wmyskxz.springboot】包下新建一个【HelloController】:
package cn.wmyskxz.springboot;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 测试控制器
*
* @author: @我没有三颗心脏
* @create: 2018-05-08-下午 16:46
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot!";
}
}
- @RestController 注解: 该注解是 @Controller 和 @ResponseBody 注解的合体版
第三步:利用 IDEA 启动 Spring Boot
我们回到 SpringbootApplication 这个类中,然后右键点击运行:
- 注意:我们之所以在上面的项目中没有手动的去配置 Tomcat 服务器,是因为 Spring Boot 内置了 Tomcat
等待一会儿就会看到下方的成功运行的提示信息:
可以看到我们的 Tomcat 运行在 8080 端口,我们来访问 “/hello” 地址试一下:
可以看到页面成功显示出我们返回的信息。
逻辑层和视图层分离,且非H5端通信有折损
uni-app 在非H5端运行时,「从架构上分为逻辑层和视图层两个部分」。逻辑层负责执行业务逻辑,也就是运行js代码,视图层负责页面渲染。
虽然开发者在一个vue页面里写js和css,但其实,编译时就已经将它们拆分了。
逻辑层详解
逻辑层是运行在一个**「独立的jscore里的」,它不依赖于本机的webview,所以一方面它「没有浏览器兼容问题」**,可以在Android4.4上跑es6代码,另一方面,它无法运行window、document、navigator、localstorage等浏览器专用的js API。
❝
uni-app的App端和小程序端的js引擎,其实是在jscore上补充了一批手机端常用的JS API,比如扫码。
视图层详解
通常:h5和小程序平台,以及app-vue,视图层是webview。而app-nvue的视图层是基于weex改造的原生视图。
uni-app的js基本没有不同手机的兼容问题(因为js引擎自带了),而视图层的css,在app-vue上会有手机浏览器的**「css兼容问题」。所以在app-vue的场景中「尽量不要使用太新的css语法」**,除非你不打算支持低端机。
项目创建
两种方式
1. 通过 HBuilderX 可视化界面
这个超级简单 开箱即用,无需配置nodejs。
下载好 IDE在点击工具栏里的文件 -> 新建 -> 项目 ,喜欢哪个模板选一个就完事儿了(推荐 hello uni-app)。
2. 通过vue-cli命令行 ( vue玩家推荐)
通过vuecli3.0+ 做为支持,所以 需要先安装 npm install -g @vue/cli
然后=》创建项目: vue create -p dcloudio/uni-preset-vue my-project
自带各种脚本,秀的不行啊! 通过这个方式,可以安装各种 你想要的 css预处理器、第三方插件等等,玩vue项目的都懂的。
关于NPM支持
cli项目默认已经有package.json了。 HBuilderX创建的项目默认没有,需要通过初始化命令来创建。
关于页面配置
跟小程序一样放在 : pages.json
{
"pages": [{
"path": "pages/component/index",
"style": {
"navigationBarTitleText": "组件"
}
}]
}