本文适合刚刚学完java包括面向对象的同学,直接上手SpringBoot教程。
一、写在前面
先说说为什么这样做,现在主流的java后端学习是
面向对象->ssm框架->SpringBoot
其间还穿插数据库的学习,例如MyBatis等。
但是我们认为从项目入手学习的效果可能会好一点:为了让刚开始的同学尽快的上手实际开发,先从SpringBoot开始学会怎么用,然后在学长学姐的带领下边开发边接触数据库,掌握了实际开发之后再回去学习ssm框架和底层的原理。
这种学习路线相当于把传统的反过来,同样需要投入大量时间,前期也会很痛苦【鄙人亲身经历,没有足够的实际的同学请慎用】。
二、创建项目
首先得保证你有一个稳定的专业版的IDEA(推荐)。如果觉得网上不靠谱的话可以微信关注公众号:“呼哧好大枫”,领取专业版的IDEA使用教程(你懂的)。
创建Spring项目还有一些注意事项,请看拙作:传送门。
三、准备mysql数据库
建议安装数据库管理软件php study(小皮面板),可以很方便的管理多个版本的mysql。下载链接
安装完成之后的页面
然后安装数据库系统软件navicate,使(po)用(jie)教程还是在微信公众号“呼哧好大枫” 上面。
在小皮面板上创建一个数据库,设置好用户名和密码。然后在navicate上连通。不能连通的请检查端口等,自行解决。
连通之后创建你自己的数据表(提前设计好了的,可以用powerDesinger等软件)
至此,准备工作就完成了。
三、Spring相关文件
一个完成的项目大致包含上面几个文件夹。本人写代码比较随意, 在命名上面可能有所不同,下面我来一一解释这些文件夹是干啥的
在java/smartbox文件下:
文件夹名称 | 含义 |
---|---|
config | 一些代码上的配置文件,如存储桶配置、时间配置等 |
controller | 接口控制层,用来书写接口 |
dao | dao层,用来连接数据库 |
domain | 也叫model等,用来存放一个个实体类 |
server | 底层的服务 |
task | 存放一些需要服务器自动运行的功能,如定时闹钟等 |
Utils | 一个自己编写的常用的工具,如可以把文件的上传等自己写一个工具类,用于多次调用 |
在resource下还有一个总的配置文件夹,application.yml,用.yml后缀的比较好
还有一个非常重要的文件pom.xml,这个是整个项目需要导入的jar包和spring的版本配置等。
需要说明的是,本教程采用的是Mybatis连接数据库,需要在pom.xml文件中加入下面的依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
方可使用下面的代码。
四、一些代码模板
项目连接数据库需要在application.yml中配置:
spring:
datasource: # 数据库的相关配置
url: jdbc:mysql://localhost:3307/smartbox?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: hlt_plus
password: 123456
server: # 配置启动端口
port: 8088
其中端口号、账户名称、密码换成你自己的
dao基本代码
package smartbox.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import smartbox.domain.User;
/**
* @program: SmartBoxing
* @description:
* @author: hlt
* @create: 2023-03-02 19:38
**/
@Mapper
public interface userDao extends BaseMapper<User> {
}
domain层基本代码
package smartbox.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* @program: SmartBoxing
* @description:
* @author: hlt
* @create: 2023-03-02 19:12
**/
@Data
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String openid; // 微信唯一标识符
private String via;
private String nickname; // 微信昵称
}
controller层基本代码
package smartbox.Controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import smartbox.dao.medicineDao;
import smartbox.dao.userDao;
import smartbox.domain.User;
import java.util.List;
import java.util.stream.Collectors;
/**
* @program: SmartBoxing
* @description:
* @author: hlt
* @create: 2023-03-02 19:38
**/
@RestController
@RequestMapping("/users")
@CrossOrigin(origins = "*", maxAge = 3600)
public class userController {
@Autowired
private userDao userDao;
@Autowired
private medicineDao medicineDao;
@GetMapping("/test")
public String test(){
return "test successfully!";
}
}
接下来就是你自己发挥了,写完了后端接口之后用apipost或者postman测试一下。
本教程为工作室内部讲解辅助使用,会比较简略,若有不足或不懂之处,请留言。