技术栈选型
最近在实习好久没时间做过项目了,本次将借用公司的技术完成一个基于spring boot的实战项目,同时也巩固spring的相关知识。项目大体是一个后台管理系统,没有前台,用于数据分析和可视化。如下是初步的可视化界面:
项目是前后端分离的,不同于模板引擎,所有数据都是通过http协议传输,Ajax异步刷新技术,另外少量实时是SSE技术。下面介绍一下技术选型:
前端:
- LayUI
- Echarts
- Ajax
- Html5+css+js
后端
- Spring Boot
- MybatisPlus
- Mysql8.0
开发工具:
- IDEA
- VS CODE
- NAVICAT
- Eolink
初步环境搭建
- 前台环境搭建
前端的静态页面是Layui-Amin,自行下载页面,修改数据得到想要的界面。
- 后台环境搭建
- 基于Spring Initializr插件构建项目
- 导入相关依赖
使用插件生成的项目默认是2.7.6版本的,如果刷新POM没有报错就不用管了,如果报错就降低spring boot的版本。不要使用3.0及之后的,因为为是基于jdk17的。
maven导入相关依赖:
<dependencies>
<!--spring mvc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
<scope>runtime</scope>
</dependency>
<!--lombok 一键生成Java Bean-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--spring boot test 单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--mybyaisplus orm框架-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
- 配置数据库驱动参数
# datasource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/databasename?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root
- 新建MVC架构的包
- 配置ORM映射框架
(1)生成数据表对应的实体类来映射数据
@Data
public class ProductSales {
private Integer id;
private String event_time;
private String order_id;
private String product_id;
private String category_id;
private String category_code;
private String brand;
private Float price;
private String user_id;
private Integer age;
private String sex;
private String local;
}
生成与自己数据库表对应的实体类,pojo包是与数据库表对应的类,model下是中间变换的类,例如关联查询,外连接得到的类。
mapper编写:
@Mapper
public interface ProductMapper{
@Select("select * from productsales limit 1,5")
List<ProductSales> getProductList();
}
@Mapper注入到IOC,@Select编写查询语句。除了同@Map等注解注入也可用MapperScan统一注入。
编写服务层接口和实现类
//接口
public interface ProductService {
List<ProductSales> productSalesList();
}
//实现类
@Service
public class ProductServiceImpl implements ProductService {
@Autowired
private ProductMapper productMapper;
public List<ProductSales> productSalesList(){
List<ProductSales> productList = productMapper.getProductList();
return productList;
}
}
控制器编写
@RestController
@RequestMapping("/product")
public class ProductController {
@Resource
private ProductService productService;
@GetMapping("/list")
public List<ProductSales> getList(){
return productService.productSalesList();
}
}
启动程序当输入如图url查出json数据时,初步环境就搭建成功了。
此项目是对spring boot的复习和运用,已最简单的方式实现一个web项目,诸如,连接池,中间件,日志等均未搭建环境。
后续内容会依次跟新!😃😃😃
喜欢就关注吧!!! |
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/156195.html