系统:Windows 10
JDK:JDK1.8
IDE::Intellij IDEA 2020
构建工具:Maven 3.6.3
Spring Boot:Spring Boot 2.5.6
MySql:MySql 8.0及其以上
参考书籍:Springboot趣味实战(刘水镜)
关于环境的注意事项:
1.环境版本之间存在兼容性,请严格按照标准适配。
2.Maven镜像配置极其重要,可能部分依赖在镜像仓库中不存在而导致拉取失败,所以建议使用Maven默认镜像:
<mirror>
<id>officialid>
<url>https://repo.maven.apache.org/maven2url>
mirror>
Spring Boot的文件结构由所不一样,因为Spring Boot采用的是三层架构,下面介绍其文件结构以及每个结构的作用
Controller(UI)界面控制层
Service(BLL)业务逻辑服务层
Dao(DAL)数据访问层
注意:因为这个项目用到的是mybatis plus,mapper就是dao
文字解释:
如果你学过jee,里面也由Controller层(后称为cj),Controller(UI)界面控制层、Service(BLL)业务逻辑服务层与Dao(DAL)数据访问层可以说是共同组成了cj,Controller负责给请求分配要访问的Service,Service可能会调取Dao(是否需要操作数据库)
简而言之,springboot将旧版的Controller分开了,提高了类聚,降低了耦合
画图解释:
举个例子,我是一个用户,我要去银行(银行Controller,用户发送一个去中国银行的请求),然后门口的工作人员会接待你,并问你是来创建账户还是修改信息(这就是Controller里面的一个方法,因为都涉及到修改,所有可以放到同一个方法里判断,当然也可以在两个方法里),你说是新建账户,他就会叫你到新建账户的窗口去(Service),然后业务员会调用数据库给你新建一个账户。
在resource文件夹下有一个application的文件,这是一个配置文件,里面可以配置一些功能,比如修改服务器8080端口为其他端口等。该文件默认为properties格式,但建议使用yml格式(修改后缀即可)
对比这两种格式:
properties:
server.port=8080
server.servlet.context-path=/springboot
server.servlet.session.timeout=57600
yml:
server:
port: 8080
servlet:
context-path: /springboot
session:
timeout: 57600
yml的层次结构更清晰,更具有整体性和层次感,而且更加简洁
Maven是一个工具,方便用户下载使用一些库
给出本项目的完整依赖(.pom文件)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.5.6version>
<relativePath/>
parent>
<groupId>com.dachuanggroupId>
<artifactId>factorySystemartifactId>
<version>0.0.1-SNAPSHOTversion>
<name>factorySystemname>
<description>factorySystem project for Spring Bootdescription>
<properties>
<java.version>8java.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-aopartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-validationartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>io.springfoxgroupId>
<artifactId>springfox-boot-starterartifactId>
<version>3.0.0version>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<optional>trueoptional>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<scope>runtimescope>
dependency>
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-boot-starterartifactId>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>druid-spring-boot-starterartifactId>
dependency>
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-generatorartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-freemarkerartifactId>
dependency>
<dependency>
<groupId>com.deepoovegroupId>
<artifactId>poi-tlartifactId>
<version>1.12.0version>
dependency>
<dependency>
<groupId>com.vaadin.external.googlegroupId>
<artifactId>android-jsonartifactId>
<version>0.0.20131108.vaadin1version>
<scope>compilescope>
dependency>
<dependency>
<groupId>net.sf.json-libgroupId>
<artifactId>json-libartifactId>
<version>2.4version>
<classifier>jdk15classifier>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>fastjsonartifactId>
<version>1.2.73version>
dependency>
dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-boot-starterartifactId>
<version>3.4.2version>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>druid-spring-boot-starterartifactId>
<version>1.2.5version>
dependency>
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-generatorartifactId>
<version>3.4.1version>
dependency>
dependencies>
dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
在没有starter的日子,一个功能会拉取很多包,还要定义相应版本,太痛苦了
resource文件夹里,并不是所用文件夹都能被前端链接访问的,默认static文件夹(没有自建)是能被访问的,将前端页面放到里面即可,其他文件夹默认只能后端访问。但也可以通过配置application来开放其他文件夹,具体可以自行搜索。
工厂生产线分为
1.物料
2.装配
3.测试
4.包装
每一次生产对应了一个生产订单,生产订单有各种状态,后续发现异常会产生批退。
工厂使用的是内网,文件和信息一般由内部邮箱发送或文件服务器。
于是我把这些功能集成在了一起
登录:
注册:
邮件:
文件服务器:
收件箱
信息列表
统计
统计
这两个月实习以学习为主,以实践带学习全方位提高自己的技术能力。在注重学习的同时狠抓实践,在实践中利用所学知识用知识指导实践全方位的提高自己的技术能力和水平。