SpringBoot+Vue项目系列教程-01-创建项目后端

先闲聊几句

好记性不如烂笔头,记录下来,最好组织自己的语言记录下来开发的详细过程,这样的收获才是最大的。

听传言说:开发界的大牛都是写文章的高手,相信此言不虚!

有问题,请留言,见必回。

会写哪些内容

SpringBoot是最火的web开发框架,Vue是最火的前端框架,可是无论是哪一个视频平台或者图文博客平台,都没有使用springboot + vue写出完整项目的开发教程。要么只讲spring boot,要么只讲vue,好不容易有个前后端都有的教程,后端可能是用node.js或php实现,而且只提供接口。

想不花钱报他们的开发班就学习到前后端的所有知识,好像是不可能的。

这次就来解决这个问题,使用纯SpringBoot和Vue写一个完整的商城商品,从小白的角度,尽可能详细的解释每一个细节,因为我也是个小白。

这里要写的是一个前端和后端都完整的项目,SpringBoot用来开发后台接口,Vue用来写前端页面,Vue前端的内容,包括javascript、css都要写清楚、写明白,后端的访问数据库,拦截器、生成token、mybatis、分页、数据源、swagger、radis等内容。

最重要的是:代码是完整的、可以直接拿来调试。

从具体的功能来分的话,包括以下方面:

由于题目字数限制,此处的“创建项目”实际指的是创建SpringBoot项目

环境概述

后端开发环境:jdk1.8 + idea2202.1 + mysql 5.7 + Maven

前端开发环境:vue2.x + vscode最新版 + node.js最新版

 

前后端的环境搭建就不在这里详细说了,不会的先自行查资料解决。

如果想要我单写文章讲解,请留言。

学习步骤

  1. 先学习spring boot,具备对外提供接口的能力
  2. 学习Vue
  3. 交叉着写项目代码

了解SpringBoot

回顾spring

什么是spring?

spring 是一个轻量级的java开源框架,作者是Rod Johnson。

框架的最大的价值是拿来就可以用,节省了开发的难度和时间。

spring 是如何简化java开发的

  • 基于POJO的轻量级和最小侵入性性编程,一切皆为Bean。
  • 通过依赖注入(不再使用new 关键字来创建对象)和面向接口,实现松耦合。
  • 基于切面和声明式编程
  • 通过切面 和模板减少样板代码

什么是Spring Boot

spring boot是为了简化spring mvc的开发难度而产生的,确切的说,是减少了spring mvc中的配置,因为springboot的思想是约定大于配置

spring boot 是一个java web 框架。

使用spring boot,能迅速的开发web应用,几行代码可以开发出一个接口。

spring boot有大量优秀的第三方库,几乎零配置的开箱即用。

什么是微服务?

单体应用架构

微服务也是一种架构,在了解微服务架构之前,先了解一下单体应用架构。

单体应用是指在一个应用中包括了所有应用服务,前端页面、数据库访问、后端接口等,最后打成war包,放到服务tomcat之类的软件中运行。

单体应用的这种结构,有利于开发和部署,特别是对于相对较小的应用。

缺点是哪怕是修改很小的地方,也要停掉整个服务,重新打包、部署。对大型应用来说,都放在一个应用中,开发、维护、分工、合作,也是件麻烦事。

微服务

微服务就是为了解决这种问题而产生的新架构。

把每个功能单元独立出来,修改时只影响单个模块,不会影响其它模块,可以独立升级代码,符合高内聚,低耦合的原则。

 

创建后端项目

在这里,只讲两种通过IDEA创建SpringBoot的方式,通过SpringBoot官网创建项目的方式就不讲了,我们这里的第一种创建方式其实就是调用官网的接口来创建的,其实是一回事。

方式一:通过spring构建器

1、启动IDEA,选择Create New Project,如下图

SpringBoot+Vue项目-01-创建项目后端

 

2、选择spring initializer,这是springboot官网的构建器,在这里创建spring boot项目与在官网创建是完全一致的。

SpringBoot+Vue项目-01-创建项目后端

 

3、填写项目信息

SpringBoot+Vue项目-01-创建项目后端

 

Group,是“组”意思,定义了项目属于哪个项目组,是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。公司一般都不只一个项目在开发,如果你的公司域名是com.jd,你正要做的项目为myapp,那么这里groupId就应该是com.jd.myapp,保证了唯一性,这样就可以与其它项目区别开了。

Artifact是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

version:当前版本,实际项目中需要按需修改。

name:项目名称

package:项目包名,可修改,但一般上group保持一致。

description:项目描述,可自行修改。

4、选spring-web启动器

SpringBoot+Vue项目-01-创建项目后端

 

这里选择的启动器会添加到pom.xml中,再下一步就完成创建了。

此时,可以直接运行主程序,但还不具备提供接口的能力。

方式二:通过Maven

1、创建普通Maven项目

SpringBoot+Vue项目-01-创建项目后端

 

2、这里不需要选择骨架(archetype),直接下一步

SpringBoot+Vue项目-01-创建项目后端

 

3、点击Next,创建完成后,在pom.xml文件中,添加依赖。

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

4、添加依赖后,要手动更新meven

SpringBoot+Vue项目-01-创建项目后端

 

5、创建主启动类

 @SpringBootApplication
 //主启动类
 public class MainApp {
     public static void main(String[] args) {
         SpringApplication.run(MainApp.class);
     }
 }

注意:一定要加上SpringBootApplication注解

 

两种方式最后的效果是一样的,通过maven需要自己创建主启动类和手动添加web启动器。

 

至此,Spring Boot项目就创建完成了,但还无法提供接口服务。要想提供接口,还需要下面的操作。

创建controller

在主程序目录下创建controller目录,在controller目录中创建HelloController.java

 

 package com.hgt.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 spring boot";
     }
 }

然后运行主程序,浏览器访问:http://localhost:8080/hello

出现这个界面,说明已经请求到了接口的数据,成功。

下面对HelloController.java的中两个注解加以说明,这里才是学习的重点:

  • @RestController相当于@ResponseBody与@Controller加在一起的作用。使用此注解无法返回jsp页面或者html,需要返回页面的话,要使用@Controller 与InternalResourceViewResolver才行。
  • @RequestMapping("hello")用于处理请求地址映射,用在类上表示类中的所有方法都以该地址作为父路径;用在方法上表示此方法的子路径。我们只添加到了方法了,类中未使用此注解则默认为根目录("/")
  • hello()方法用于提供接口服务,在实际应用中,方法体内的内容为对数据库的增删改查,并把最终结果返回给前端面。

项目创建完成,并且可以响应请求,起步的工作就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值