ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 一、概述 整合了各层技术的完整运行技术; ## 二、说明 1、pom 包里确保Jpa 和 Thymeleaf 的相关包引用 ~~~ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> ~~~ 2、application.properties中确保有配置 ~~~ spring.datasource.url=jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=true spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.properties.hibernate.hbm2ddl.auto=create spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.show-sql= true spring.thymeleaf.cache=false ~~~ 3、在项目 resources 目录下会有两个文件夹 static目录用于放置网站的静态内容如 css、js、图片; templates 目录用于放置项目使用的页面模板。 ![](https://img.kancloud.cn/60/4a/604a5ec46ac5ddf84cbb861efa86283a_263x273.png) ## 三、代码实现 ## **dao层** 提供数据的CRUD; ## **service层** 通过调用持久层来组合业务,并作为资源注入给Controller 层;业务层可以直接用实现类,也可以用接口+实现类,一般为了简化,直接用实现类即可; ## **controller层** Controller 负责接收请求,处理完后将页面内容返回给前端; 常用的分为两种: @RestController 在 Spring MVC 中就是 @Controller 和 @ResponseBody 注解的集合,它默认是json对象返回给请求端,而不是页面,一般用于api请求返回结果; @Controller则返回到指定页面,一般用于web页面请求; 注意: >[danger] `return "sample/access/list";`代表会直接去 resources 目录下找相关的文件。 > `return "redirect:/list";`代表转发到对应的 Controller,这个示例就相当于删除内容之后自动调整到 list 请求,然后再输出到页面。