介绍:Spring Boot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。开箱即用,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
Spring Boot是一个基于Spring框架的快速开发脚手架,它简化了Spring应用的初始化和搭建过程,提供了众多便利的功能和特性,比如自动配置、嵌入式Tomcat等,让开发人员可以更加专注于业务逻辑的实现
Spring Boot的背景:
多年来,随着Spring的飞速发展,新功能不断增加,Spring变得越来越复杂。
于是Spring Boot应运而生。Spring Boot建立在Spring基础之上,遵循"约定优于配置"的原则,避免了创建项目或框架时必须做的繁杂配置,帮助开发者以最少的工作量,更加简单、方便地使用现有Spring中的所有功能组件
刚进Spring Boot项目的画面
使用Spring Initializr模板创建Spring Boot项目——ProfileDemo01,配置好后,单击【Next】按钮![](https://i-blog.csdnimg.cn/blog_migrate/ecaf5c58a82f550271326b14aa043612.jpeg)
Springboot结构分析
Spring Boot创建包和类
Spring Boot Starter:这是Spring Boot的核心依赖包,它包括了Spring Boot的所有基础功能,如自动配置、起步依赖、Actuator等。
package com.example.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.core.io.schubfach.DoubleToDecimal;
import lombok.Data;
@Data
@TableName("orders")
public class Order {
@TableId(type = IdType.AUTO)//将id设为自增,且为主键
private Long id;
private Data inDatetime;//进场时间
private Data outDatetime;//离场时间
private DoubleToDecimal pricel;//缴费金额
private boolean isPayCompleted;//缴费状态
private boolean isRequireInvoicing;//开票状态
private ParkingLot parkingLot;//
private Vehicle vehicle;//
}
package com.example.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("parking_lot")
public class ParkingLot {
@TableId(type = IdType.AUTO)//将id设为自增,且为主键
private Long id;
private String name;
private int volumetric;
private PricingStandard pricingStandard;//关联停车场
}
package com.example.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.thymeleaf.expression.Dates;
import java.util.Date;
@Data
@TableName("pricing_standard")
public class PricingStandard {
@TableId(type = IdType.AUTO)//将id设为自增,且为主键
private Long id;
@TableField("hourly_rate")
private Integer hourlyRate;//按小时计费
@TableField("daily_rate")
private Integer dailyRate;//按天计费
@TableField("exceeding_hours")
private Integer exceedingHours;//按超过小时按天计费
@TableField("create_date")
private Date createDate;
public PricingStandard() {
this.createDate =new Date();
}
}
package com.example.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.thymeleaf.expression.Dates;
import java.util.Date;
@Data
@TableName("pricing_standard")
public class PricingStandard {
@TableId(type = IdType.AUTO)//将id设为自增,且为主键
private Long id;
@TableField("hourly_rate")
private Integer hourlyRate;//按小时计费
@TableField("daily_rate")
private Integer dailyRate;//按天计费
@TableField("exceeding_hours")
private Integer exceedingHours;//按超过小时按天计费
@TableField("create_date")
private Date createDate;
public PricingStandard() {
this.createDate =new Date();
}
}
package com.example.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("vehicle")
public class Vehicle {
@TableId(type = IdType.AUTO)
private Long id;
@TableId("license_plate")
private String licensePlate;//车辆牌号
private String picUrl;//车辆照片存放地址
@TableId("is_active")
private boolean isActive;//标记车辆入场’立场状态
private ParkingLot parkingLot;//车辆停放的停车场
}
停车场管理系统主要功能模块包括系统用户(管理员、停车用户)、模块管理(车辆信息、公告信息、挪车通知、停车位信息、车场区域、车位预约、车辆入库、车辆出库)等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用 springboot框架、Java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对停车场管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现停车场管理系统的部署与运行:
链接Mysql数据库
springboot框架运行代码停车场收费
Spring Boot具有以下特点和功能:
1.自动配置:Spring Boot根据应用程序的依赖和配置自动
进行配置,减少了手动配置的工作量。
2.内嵌服务器:Spring Boot可以内嵌Tomcat、Jetty等Web
服务器,简化了部署和启动过程。
3.简化的依赖管理:Spring Boot提供了一套统一的依赖管
理机制,可以简化依赖的引入和版本管理。
4.组件化:Spring Boot采用了模块化的设计,可以根据需
求选择性地引入各种功能组件,如数据库访问、安全性等。
5.强大的开发工具支持:Spring Boot集成了许多开发工
具,如自动重载、热部署等,提高了开发效率。
6.健康检查和监控:Spring Boot提供了健康检查和监控功
能,可以监控应用程序的运行状态和性能指标。
7.生产就绪性:Spring Boot提供了各种特性和配置选项,
以确保应用程序在生产环境中的稳定性和可靠性
Spring Boot总结
Spring Boot是一个基于Spring的框架,旨在简化Spring应用程序的创建和部署。它通过自动配置和约定大于配置的原则,提供了一个快速、灵活的方式来构建Java应用程序。Spring Boot可以快速搭建大型的Spring项目,并简化了工程的配置和依赖管理,让开发人员能够专注于业务开发。
Spring Boot的特点包括:
-
快速搭建:Spring Boot提供了便捷的入门体验,通过引入父依赖和启动器依赖,可以快速搭建基于Spring的工程。
-
内嵌应用服务器:Spring Boot内嵌了应用服务器,例如Tomcat和Jetty,使得开发人员无需额外配置即可运行应用程序。
-
自动配置:Spring Boot根据项目中的依赖关系自动配置相关组件,减少了手动配置的工作量。
-
没有代码生成:与传统的Spring框架不同,Spring Boot没有代码生成,也无需配置XML文件,简化了开发流程。