【学习小记】002.idea中前后端分离项目的目录结构

记录一下第一次使用idea来进行springboot项目编译和测试,学习标准分包目录结构,补充学习前端项目的目录结构说明。

一、springboot项目创建

1.1 创建基本步骤

查找的一篇文章且亲测有效,资源如下:

如何在idea中创建一个SpringBoot项目(超详细教学)_idea创建springboot项目-CSDN博客

二、项目目录结构

2.1 springboot项目的“宏观架构”是什么?

于是开始搜资料,所谓宏观架构指的是三层架构(分别是:控制层Controller、服务层Service、持久化层:Dao、repository、Mapper),那么他们之间的关系是什么呢?

举一个例子,将springboot项目比做一个银行,那么他们的关系描述为:

  1. 控制层(Controller)

    • 负责处理用户请求,接受和解析输入,将其传递给服务层,并将服务层返回的结果封装为HTTP响应返回给用户。
    • 类似于银行的柜台员工,接收客户的请求(如开户、查询余额等),并将这些请求转发给后续的服务进行处理。
  2. 服务层(Service)

    • 负责处理业务逻辑。接收来自控制层的请求,进行业务操作(如验证、计算、调用持久化层等),然后将结果返回给控制层。
    • 类似于银行的后台服务系统,处理具体的业务逻辑,如计算利息、验证客户信息等。
  3. 持久化层(Dao/Repository/Mapper)

    • 负责数据访问和存储。与数据库交互,执行CRUD(创建、读取、更新、删除)操作。
    • 类似于银行的数据库,存储和管理所有客户信息、账户信息等数据。
  • 其他具体代码层面解释以及优缺点等细节解释见如下文章:

SpringBoot的三层架构以及IOC&DI_springboot的逻辑架构-CSDN博客

Java后端开发:SpringBoot项目中的三层架构与代码角色_后端三层架构-CSDN博客

SpringBoot目录结构_springboot目录结构详解-CSDN博客

2.2 springboot项目调层级

spingboot 项目调用层级流程示意图如下:

  • 详细的代码和相关文件可参考如下文章:

9千字长文带你了解SpringBoot启动过程–史上最详细 SpringBoot启动流程-图文并茂-腾讯云开发者社区-腾讯云

Spring Boot框架分层设计解析 - 简书

2.3 补充vue项目结构

  • 前后端项目可参考文章:

Springboot+Vue项目后端基本分包目录结构_springboot分模块开发目录结构-CSDN博客

  • 前后端分离可参考文章:

Springboot+vue前后端分离_springboot +vue前后端分离是什么意思-CSDN博客

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
接入第三方登录是让用户方便快捷地使用已有账号登录你的网站或应用程序,提高用户体验的一种方式。本文将介绍如何使用 PHP 实现微信公众号第三方登录。 1. 获取微信授权 首先,需要获取微信用户的授权。具体步骤如下: 1)引导用户打开微信授权页面: ```php $appid = 'your_appid'; $redirect_uri = urlencode('http://yourdomain.com/callback.php'); $scope = 'snsapi_userinfo'; $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=$scope&state=STATE#wechat_redirect"; header("Location: $url"); ``` 其,`$appid` 是你的微信公众号的 AppID,`$redirect_uri` 是授权后回调的 URL,`$scope` 是授权作用域,可以是 `snsapi_base` 或 `snsapi_userinfo`,`$state` 是自定义参数,用于防止 CSRF 攻击。 2)获取授权码: 用户同意授权后,会重定向到 `$redirect_uri` 指定的 URL,带上授权码 `code` 和 `state` 参数。 ```php $code = $_GET['code']; $state = $_GET['state']; ``` 3)获取 access_token 和 openid: 使用授权码 `code` 获取 `access_token` 和 `openid`。 ```php $access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"; $response = file_get_contents($access_token_url); $result = json_decode($response, true); $access_token = $result['access_token']; $openid = $result['openid']; ``` 其,`$secret` 是你的微信公众号的 AppSecret。 2. 获取用户信息 获取到 `access_token` 和 `openid` 后,可以使用以下代码获取用户信息: ```php $userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN"; $response = file_get_contents($userinfo_url); $userinfo = json_decode($response, true); ``` 其,`$userinfo` 包含用户的昵称、头像等信息。 3. 将用户信息保存到数据库 最后,将获取到的用户信息保存到数据库,以便下次使用时快速登录。 ```php // 连接数据库 $con = mysqli_connect('localhost', 'username', 'password', 'database'); mysqli_set_charset($con, "utf8"); // 查询用户是否已存在 $sql = "SELECT * FROM users WHERE openid='$openid'"; $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) == 0) { // 用户不存在,插入新用户信息 $nickname = mysqli_real_escape_string($con, $userinfo['nickname']); $headimgurl = mysqli_real_escape_string($con, $userinfo['headimgurl']); $sql = "INSERT INTO users (openid, nickname, headimgurl) VALUES ('$openid', '$nickname', '$headimgurl')"; mysqli_query($con, $sql); } // 保存用户登录状态 $_SESSION['openid'] = $openid; ``` 以上就是使用 PHP 实现微信公众号第三方登录的步骤。需要注意的是,为了确保安全性,应该对用户输入的数据进行过滤和验证,防止 SQL 注入和 XSS 攻击等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值