spring boot 日志/页面处理实体类构建后台管理

Posted 之墨_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 日志/页面处理实体类构建后台管理相关的知识,希望对你有一定的参考价值。

一、配置文件的编写

1.配置文件

  1. 为方便我们的开发,我们需要构建三个环境下的配置文件
  2. 分别是通用环境、开发环境和生产环境下的yml格式配置文件
    并且在开发环境配置中配置好我们的数据库和日志


2.导入依赖

(这个是在初始化spring boot项目时就自动导入了)
需要用到的有JPA、thymeleaf、devtools、aop等

二、日志框架处理

(这个可以自己配置也可以不配,根据自己的使用习惯,我是跟着视频的QAQ,不配置的话用默认的也可以)

1.默认配置

2.个性配置

3.自动生成的日志文件

三、页面处理

1. 控制器

通过控制器来处理命令,使用注解@GetMapping或者@PostMapping等进行处理
可以通过一系列控制器实现各钟功能
控制器示例:

貌似Spring boot默认访问页面就是index

2.配置错误友好页面

4xX 5XX分别是服务端和客户端有错误时会默认跳转的页面

这里有个坑!:
注意使用thymeleaf的html如果使用了th:fragmentth:replace抽取公共部分的话,可能会出现直接打开静态模板时会丢失样式的问题
要注意我们在抽取公共部分时,原html页面的被取代部分最好不要清空,同时要注意css样式部分的路径,并且要保留在项目中

又一个坑!:idea启动页面产生乱码

这是因为idea启动页面时的编码不一样,兼容性的问题,只需要加入下面这段代码到head里就解决了

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

四、实体类构建

使用JPA技术

JPA是Java Persistence API的简称,中文名Java持久层API
是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中

1.创建持久层实体类Entity


创建实体类
使用注解@Entity:表明实体类

必须与@Id注解 结合使用
否则 No identifier specified for entity: name 属性
(可选)实体名称。 缺省为实体类的非限定名称。
该名称用于引用查询中的实体。
该名称不能是Java持久性查询语言中的保留字面值。
不与@Table结合的话 表名 默认为 SnakeCaseStrategy(命名策略 )为表名
若使用 name属性 且没有与@Table结合 则表名为 name值的SnakeCaseStrategy(命名策略 )
例如:
@Entity
public class UserEntity{…} 表名 user_entity
@Entity(name=“UE”)
public class UserEntity{…} 表名 ue
@Entity(name=“UsEntity”)
public class UserEntity{…} 表名 us_entity

@Table(name = 数据库名)操作数据库

运行启动类后会自动创建数据库表单

2.注解的使用

@ID @GeneratedValue @XX TO XX关系
@ID:
@ID 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。
@ID标注也可置于属性的getter方法之前。

@GeneratedValue:
@GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。
默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:****SqlServer对应identitymysql 对应 auto increment

javax.persistence.GenerationType中定义了以下几种可供选择的策略:

  • IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式;
  • AUTO: JPA自动选择合适的策略,是默认选项;
  • SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式
  • TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

ManyToMany、OneToMany等是各实体类之间对应的关系,根据实际关系注解…

五、后台管理

有了实体类和数据库表单之后当然就是要将它们注册到我们的容器中,实现增删改查等操作,在web页面上实现后台和前端的响应!

1.配置持久层组件

@Repository注解式持久层组件,用于标注数据访问组件,即DAO组件
DAO层
先定义一个接口

2.标注业务层组件

@Service用于标注业务层组件

从数据库中取用户名及密码

3.编写控制器

根据自己的需求编写控制器的内容

4.例

如在管理员登陆页面中
@Controller用于标记在一个类上,使用它标记的类就是一个SpringMvc Controller对象,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。
@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器

以上是关于spring boot 日志/页面处理实体类构建后台管理的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot制作个人博客-框架搭建(日志处理,页面处理)

Spring Boot配置Mysql后无法根据java实体类生成table

Spring Boot-------JPA——EntityManager构建通用DAO

spring boot 启动的图怎么打印的

Spring Boot 中使用Spring Aop实现日志记录功能

Spring Boot“不是实体”