项目练习_基于SpringBoot+Thymeleaf的云收藏

项目练习

可移步专栏阅读查看其他相关内容
已完成的代码空间:杜小白_1024


以下是本篇文章正文内容

基于SpringBoot+Thymeleaf_云收藏

适合对象

  • 基本掌握JAVA语法使用
  • 基本掌握HTML,知道表单的作用
  • 基本掌握关系型数据库,知道INSERT操作
  • 会看报错信息,会用搜索引擎

目标

  • 实现创建新的收藏(填写标题、链接)

依赖

  • Spring Boot Spring Boot是一个基于Java的开源框架,用于创建微服务。它由Pivotal Team开发,用于构建独立的生产就绪Spring应用。
  • Thymeleaf Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。
  • 参考文档

项目结构

src
├── main
│   ├── java
│       └── com
│           └── favorites
│               ├── domain      # 模型
│               ├── repository
│               └── web         # 控制器
│   └── resources  
│       └── templates # 模板

部分功能实现思路

  • 什么是模型、控制器和模板?
  • 创建新的收藏
    • 参考src/main/resources/templates/favorites/newfavorites.html模板,构造一个可以填写标题、链接地址的表单
    • 参考控制器目录下的src/main/java/com/favorites/web/FavoritesController.java,实现接收表单提交数据并创建一条新的收藏的功能(收藏对应的模型为domain/Collect.java)

实现目标

  1. 参考模版
    src/main/resources/templates/favorites/newfavorites.html模板,构造一个可以填写标题、链接地址的表单

创建新收藏src/main/resources/templates/favorites/newcreate.html

  1. 参考控制器目录下的src/main/java/com/favorites/web/FavoritesController.java,实现接收表单提交数据并创建一条新的收藏的功能(收藏对应的模型为domain/Collect.java)

/create 创建新收藏src/main/java/com/favorites/web/FavoritesController.java/create

  1. 简单思路
  • 1.点击提交按钮,将表单中的标题和链接提交到后台
  • 2.后台接收到数据后,将数据保存到数据库中
  • 3.将保存成功的数据返回给前端,前端展示保存成功的数据

实现步骤

1.创建 “新建收藏”的主页面

./resources/templates/duxiaobaifavorites/duxiaobaifavorites.html
在这里插入图片描述

2.左侧导航栏添加“新建收藏”

./resources/templates/fragments/left.html
在这里插入图片描述

3.新建newFavorites方法进行跳转页面

./java/com/favorites/web/IndexController.java;

@RequestMapping(value="/duxiaobaiFavorites")
	@LoggerManage(description="duxiaobai新建收藏页面")
	public String duxiaobaiFavorites(){
		return "duxiaobaifavorites/duxiaobainewfavorites";
	}

4.创建 接收表单请求的控制器

参考FavoritesController.java
./java/com/favorites/web/DuxiaobaiFavoriteController.java

5.创建 saveDuxiaobaiFavorites(getUserId(), name, duxiaobaiurl)方法

./java/com/favorites/service/FavoritesService.java

package com.favorites.service;

import com.favorites.domain.Collect;
import com.favorites.domain.Favorites;

public interface FavoritesService {
	public Favorites saveFavorites(Long userId,String name);
	public Favorites saveFavorites(Collect collect);
  public Favorites saveDuxiaobaiFavorites(Long userId,String name,String duxiaobaiurl);
	public void countFavorites(long id);

}

6.修改FavoritesServiceImpl这个实现类

./java/com/favorites/service/impl/FavoritesServiceImpl.java

 @Override
	public Favorites saveDuxiaobaiFavorites(Long userId, String name, String duxiaobaiurl) {
		Favorites favorites = new Favorites();
		favorites.setName(name);
		favorites.setDuxiaobaiurl(duxiaobaiurl);
		favorites.setUserId(userId);
		favorites.setCount(0l);
		favorites.setPublicCount(10l);
		favorites.setCreateTime(DateUtils.getCurrentTime());
		favorites.setLastModifyTime(DateUtils.getCurrentTime());
		favoritesRepository.save(favorites);
		return  favorites;
	}

7.创建 对应的Get/Set Duxiaobaiurl方法;增加duxiaobaiurl字段

./java/com/favorites/domain/Favorites.java

8.修改数据库表

favorites表中新增duxiaobaiurl字段并设置为非空

ALTER TABLE favorites ADD duxiaobaiurl VARCHAR(255) NOT NULL;

在这里插入图片描述

9.PS:若使用远程数据库注意修改数据库连接

Host Password USER PORT
springaboot提供了一个全局配置文件,在application.properties中增加数据库连接配置
resources/application.properties

######  db config start ######
spring.datasource.username=root
# spring.datasource.password=root
spring.datasource.password=qGCJiNqi
spring.datasource.url=jdbc:mysql://s3.1024paas.com:58120/favorites?useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
######  db config end ######

spring.datasource.name 数据源的名称。
spring.datasource.username 数据库的登录用户名。
spring.datasource.password 数据库的登录密码。
spring.datasource.url 数据库的 JDBC URL。
spring.datasource.jdbc-url 用来创建连接的 JDBC URL。
spring.datasource.driver-class-name JDBC 驱动的全限定类名。默认根据 URL 自动检测。
。。。。。。

实现效果

1.点击“创建新收藏”按钮,跳转到新建收藏页面

在这里插入图片描述

2.必需同时填写标题和链接地址,否则提示错误

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.点击“提交”按钮,若标题已创建,弹窗提示报错

在这里插入图片描述

4.填写标题和链接地址,点击“提交”按钮,弹窗提示新建收藏成功

在这里插入图片描述

5.查看数据库,新建的收藏已经保存到数据库中

在这里插入图片描述

6.查看收藏列表,新建的收藏已经保存到收藏列表中

在这里插入图片描述


总结

经过简单的了解和练习我们可以学习到或者需要学习:
1.1. MVC设计模式
1.2. thymeleaf
1.3. 项目的部署与搭建
1.4. 项目整体架构
1.5. Spring-boot框架
1.6. spring-data-jpa框架

小唠叨:学习的目的是什么,如果只是为了学习而学习,没有目的性,很难坚持,且没有实战的学习毫无意义,所以我打算实现这个小需求。时常问自己究竟想做什么?就在此刻也没有想清楚,但是秉着从一而终的想法,直接站在巨人的肩膀上面,修修改改,相当潦草,当还算完整。循序渐进的学习才能真正的掌握一门语言,即便有java基础也绝不可能一步登天(而且我的基础貌似被遗忘了),我相信大家都一样。原作者的项目是从2016年写了2年之久,本着敬畏之心慢慢阅读,断断续续的花了将近2周的时间,虽收获颇丰,但碍于对java的认知程度不够和基础的充分遗忘,理解和学习并不深刻。


在这里插入图片描述

Authors
杜小白

版权声明:本文为qq_43412080原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。