粉丝75获赞845

家人们,今天咱们就来最直白最底层的把 spring boot run 方法的核心秘密讲透。好多人可能不明白 spring application run 到底干了啥,其实它就做一件事,那就是启动 spring 应用的整个生命周期,从零到能跑,真正的核心流程就这六步, 大家把这六步背下来,面试、排查问题都稳稳的。第一步,构造 spring application 对 象,这是准备阶段,代码是 new spring application primary sources。 这一步做了几件事,一是记录启动类,就好比咱们要盖房子, 得先确定房子的设计图纸,启动类就是这个设计图纸。二是判断是不是 web 环境,是 server 还是 reactive 环境,这就像确定房子是建在城市里还是乡村。 三是加载所有的 application context initialize 和 application listener, 这就好比给房子准备一些必要的工具和帮手。第二步,开启计时器,设置系统属性,记录启动耗时,就像咱们做饭要记录时间一样,看看这顿饭做了多久。设置 java, alt headless 等系统属性,这就好比给房子设置一些基本的规则,还要准备启动上下文环境,也就是 environment, 这就像给房子准备好周边的基础设施。第三步,准备 environment。 这一步超级关键,它决定了你整个项目的配置从哪来。要加载 application properties emo, 这就像给房子选装修材料,加载激活的 profile, 就 像给房子选择不同的装修风格, 还要考虑命令行参数、系统变量、环境变量,把这些配置都绑定到 environment 上,很多启动报错配置不生效,百分之九十都死在这一步。 就像房子装修的时候,材料没选对,或者风格搭配有问题。第四步,创建 application context 环境,就创建 annotation config server application context。 如果是非 web 环境,就创建 annotation config application context 容器一创建, spring 的 世界就诞生了, 这就好比房子的框架建好了。第五步,刷新容器。这是最核心最复杂的一步。 refresh 方法是 spring 全家桶的灵魂,它会扫描 bin, 就 像在房子里找各种家具,解析配置类,就像确定家具怎么摆放, 进行依赖注入,就像把家具组装起来,初步化各种后置处理器,就像给房子做一些后期的维护工作,创建并启动 web 服务器,就像房子可以住人了,执行 bimpost processor 和 application runner command line runner, 就 像给房子做一些最后的装饰。这一步走完,服务真正启动完成。第六步,发布启动完成事件并结束计时发布 application ready event。 就 像房子装修好了,要告诉大家可以入住了, 打印启动日制,比如 started x x x application 印仪二十三 seconds。 就 像告诉大家房子装修花了多长时间,然后进入运行状态,房子就可以正常使用了。 给大家总结一下你最关心的秘密,一句话,版就是 run 方法等于准备环境加灶容器加刷新容器加启动服务器,真正启动 tomcat 的 代码藏在 refresh 里的 unrefresh, 所有自动配置并初步依赖注入全在 refresh。 你 写的 x spring boot application 就是 从这里开始生效。底层源码入口,大家可以直接去看, 代码是 public configurable application context run stream rx, 里面包含了准备、准备环境、造容器、刷新容器 启动、完成这几个关键步骤,家人们,看完这些,大家对 spring boot run 方法是不是有了更清晰的认识呢?你们在使用 spring boot 的 过程中有没有遇到过启动方面的问题呢?快来评论区和我交流吧!

大家好,今天咱们来学习 java 完整 spring boot 项目的整体结构。先从项目根目录讲起,项目根目录是整个项目的起点,它包含了像 poems xml 这样的关键文件和 src 目录。 src 下面又分 main 和 test 两个字,目录分别存放源代码和测试代码。大家要记住, 一个清晰的项目结构能大大提高开发效率。咱们在创建新项目时,一定要遵循这个标准布局,避免文件散乱导致后期维护困难。 接下来咱们详细看看 pub xml 文件。这个文件是每文项目的核心,它管理着所有依赖库。比如说,当咱们需要添加 spring boot slater web 依赖时,只需在 pub x m l 里添加一行配置,每晚就会自动下载并管理这些库。注意啦, paul me x m l 的 配置错误会导致项目无法构建,所以大家一定要仔细检查依赖版本,确保兼容性,避免常见的版本冲突问题。现在咱们来讲讲主应用类。 主应用类通常带有 spring boot 应用的入口点,咱们运行这个类就能启动项目。 大家要熟练掌握这个注解组合了。 con configuration 依赖 blooper configuration 和旁旁的词行,能自动扫描并加载。 b, 日常开发中,直接运行它就能看到控制台输出, 非常方便。接下来咱们进入控制器层,控制器层使用 rest controller 或 twi controller 注解来处理 h t t p 请求。比如说咱们定义一个 user controller 类, 添加 request mapping 注解就能映设 u i l 路径。大家要注意,控制器层只负责接收请求和返回响应,业务逻辑要交给服务层,这样代码才更清晰 易维护。现在咱们聊聊服务层。服务层用 i service 注解标记,它封装了核心业务逻辑,比如用户注册或订单处理。大家要记住, 服务层应该独立于控制器,咱们在 service 类里边写具体方法,然后通过依赖注入到 controller 中调用,这样能提高代码附用性和可测试性。 接下来是仓库层,仓库层使用 repository 注解,通常继承 j repository 接口,它负责数据访问操作,比如查询数据库或保存尸体。 大家要注意 spring data j p a 会自动实现这些接口,咱们只需定义方法名就能生成 c 口,查询非常高效,但要注意方法命名规范,避免错误。 现在咱们讲讲实体类。实体类用 i entity 注解标记,代表数据库中的表结构,比如定义一个 user 类,添加 iid 和 column 注解来映射主键和字段, 大家要熟练掌握。实体类必须有无餐构造器和 geter setter 方法,否则 haborate 操作时会报错,这是常见的易错点。接下来咱们看看配置文件。配置文件如 application properties or application email, 用于设置应用参数,比如服务器端口或数据库连接。大家要注意 mio 格式更易读, 但缩进必须严格,否则解析失败。咱们常用它来配置环境变量,实现开发和生产环境的切换。现在咱们讲静态资源目录, static 目录,存放 c s, s, g s 图片等静态文件, spring boot 会自动映射到类路径下。大家要记住访问时直接通过 u r, 如 static style c s s 就 能加载,不需要额外配置,但要注意文件路径正确,避免四零四错误。接下来是模板目录 templates 目录存放 similife 或 freemaker 模板,用于动态生成 html。 比如说咱们创建一个 index html 模板 控制器,返回视屏明就能渲染页面。大家要注意模板引擎需要正确配置依赖,否则页面无法显示,这是新手常犯的错误。现在咱们聊聊测试目录。 s r c test 目录包含单元测试和集成测试,使用 junet 和 spring boottest, 大家要熟练掌握写测试用力能确保代码质量。比如说用 test 注解测试 service 方法,注意 mikito 模拟依赖,避免测试失败时找不到原因。 接下来咱们讲日制配置。日制配置通过 application properties 设置,比如 logging level root 等于 info 来控制输出级别,大家要注意 合理配置日智能帮助调试问题。比如说在开发时设为 debug, 生产时设为 warn, 但别忘记添加日制依赖,否则不生效。现在咱们看看数据库配置,数据库配置在 application e m l 中设置,比如 spring data source e o l 指定连接字不串。大家要记住使用 hr 内存数据库方便测试,但生产环境需换成 micro 或 posgrid。 注意密码加密,避免安全风险。 最后咱们讲安全配置,使用 spring security 时,添加 spring 减 boot 减 start 减 security 依赖就能实现认证和授权。比如说配置 security config 类来定义访问规则,大家要注意 默认会起用基本认证,咱们可以自定义登录页。好了,今天的课程就到这里,希望大家能全面掌握 spring boot 项目的整体结构,记得关注我们的频道,点赞视频,加入学习群,获取更多资源哦!

大家好,我是晓峰老师,今天出一期教程, cosai 编程十分钟,开发一个 java 项目, spring boot 四加 v u 三加 v 的 学生信息管理系统。 这样子啊,我们先建一个那个 java student pro 啊,叫叫那个 pl 啊, project, ok 啊,然后里面的话,我们可以是有一个,有一个,那个 server 啊, server 项目, ok 啊,然后 client 的 话我们待会用那个,呃, wait 啊,直接直接直接建啊,待会我教大家怎么弄啊。 ok, 然后这个 java 项目的话,我们这边啊,我们这边可以拗一个,新建一个 project, 然后这边的话,路径的话注意啊,路径的话我们这边先选,选到 cursor 啊, cursor 那 边去,目录要要正确, 然后我们刚才哪个项目,哎,怎么哎,刷出来了啊,是那个加我的啊,然后 server, 然后我们这边选 server 啊, ok, 呃,这目录别弄错,然后加我,然后那个用 vivo 啊, vivo 管理项目,然后 id, 然后这个的话,这个报报名就加我,他们就加我一二三四啊, ok, 然后这个 jdk 版本是十七啊, 十七,因为我这边呃安装了,然后用架的形式 next, ok, 然后我们这边选一些那个依赖啊,依赖的话看一下啊, spring web 是 需要的,然后,嗯,看一下啊,呃,往下拉啊, 前后端分离的话就不需要这个模板引擎了啊。 sql 的 话 spring sql 要加一下啊, sql 的 话我们这边是用的是 mybites 啊,嗯啊, mybites 呢? gdp 啊。 哦,在这儿眼睛花了,看看半天没看到, ok, 其他的话我们暂时不需要啊,你要需要的话到时候也额外可以加,也可以让那个科室给你加啊。 ok 啊,它能它能,它也能执行命令的啊,这有些只是权限问题啊,然后 ctrl, 然后类似 windows。 然后这边的话我们最好指定下 menu 啊, 待会儿。这个依赖这个太慢了。这边的话不用这个啊,这边的话,我这边有一个阿里云镜像的一个 setting 啊, ok 啊,大家自己自己弄一下啊,自己配一下啊。这个这个大家应该会啊,这个搞家务的不会。这个没有阿里云镜像配置,这个这个就没没法混了。 ok, 然后我们这边啊,可以先把它给依赖给下载一下。呃,下载的话,哎,他没帮我。作为那个 loadman project 不 应该是默认就有吗? ok 啊,他已经给我下载完了,其实我本地,因为我大家肯你们可能下载慢点。因为我背课的时候下载过一半,所以本地就有啊,他直接给我下载了。 ok 啊,这样的话我们 后端就建完了,然后我来建前端啊,前端的话注意一下啊,前端的话,如果你不用我的这个录的版本的话啊,你可以去官方去下载最新的 v 二十四啊, ok, 呃,然后这个是 n b m create width 啊, latest, ok, 然后我们这边怎么来用呢?当然你可以复制一下,也可以手敲,最好复制一下,手敲有时候会敲错。 这啊呃。在这啊,在哪在这啊。呃。直接进入,直接 cmd 命令涵, ok 啊,这是最快速的,然后右击啊,贴一下 nba 编辑 bet, 然后用最先版本的。然后呢?执行一下啊,执行一下之后啊,然后它,呃。 是否需要那个创建这个是否是否继续啊? create bet 有 个创建包的啊, ok, 然后他这边让你输入那个项目名称,我就叫可莱特,然后这边的话他自制的框架比较多啊,一大堆啊,我们选微啊,然后他用那个 java script type script, 大家贴纸可能大家不太熟啊,用 java script, 然后使用八艾特,我们这边暂时不用啊, yes 啊,我们直接那个进行安装啊,等安装的时候啊,这边新建完项目之后啊,大家如果后面安装要快的话,加一个,加一个,那个我用的是淘宝,淘宝镜像啊,贴到这儿,待会儿它后续的话安装就会快很多,不然的话就慢啊, ok, 然后这话就完了啊,是不是很快比那个 v 浏览器快多了, 你看这样的话就建完了之后啊,然后我们先回到这边项目里面,我们看一眼啊,这是我们生成的啊,新建的项目,然后我们我们让 cos 啊,去给我们完成后面的后面的这个大任务,然后 cos 打开一下,打开完之后啊,我们这边的话,项目的话需要那个,呃,打开文件夹啊,先打开文件夹,然后找到这个 java 三 and pro project。 打开之后啊,这边又不给我显示东西啊,给我显示东西的项目的话又不给我显示。我们到查看外观这边啊,它是给我这个或者你按 ctrl b 啊,是应该 ctrl b 啊, 然后外观这边啊叫 ctrl b 啊,把这个给你看这个是不是项目结构代码? ok, 然后我们我们要来生成项目啊,生成项目的话我们这样子吧,先来个计划,就是说,呃,计划的话,我们把我们我们这边和他商量一下啊,就说我们要开发,我们开发一个,呃,我们要生成一个简单的啊,就把这直接贴上吧,看看,看看他,看看他的想法 来,当然这边的话我们不用 copos 啊,我们用 copos 四点六, ok, 我 们来计划一下。 对啊,呃,刚才的话,那个他说我这个因为他这个有些模型对地区限制嘛,然后我没办法,我就换了个地区啊,然后现在又可以用了啊, ok 啊大家大家有些话我就不直说啊,这个没办法,我刚才忘了换地址了。 ok, 然后他这边的话啊,思考了一会之后列出了一个清单啊,然后这个清单的话我们可以看一下啊 这边你看这边这边就是一个那个上下文啊,你看这个上下文还挺大的啊,引用了百分之十啊。 ok, 然后它正在正在设计啊, 现在我们只是我们刚刚看一下啊,我们是我是不是,我们是不是点错了,我刚才点的计划是不是又点成那个 agent 了? 他不管,他已经帮我帮我们在那个了啊,反正都可以啊。那我还是中断了啊,我们还是来来那个扭一个啊,还是弄一下计划, ok 啊,刚才直接是 a 点的,我忘了点了,现在我们选的还是四点六啊。 ok, 我 们看一下计划,刚才我点错了,因为我刚才切换切换切换地区的啊。 ok, 然后他这边的话啊列出会列出计划清单啊,他在思考啊,这个计划已经列完了,之后我们看一下啊。 嗯,它这边清单已经弄完了啊,我们简单看一下。这是后端,你看 cover, 然后 entity 这些应该没问题啊,这个代码结构还可以,是 application 属性啊。呃。然后移除, ok 啊,他说不需要 security 框架也可以移掉就移掉。然后这个接口设计啊,还可以啊,用户是登录,然后这个前端啊,前端改造啊,前端安装依赖,因为它这边的话,我们没有那个 element plus, 它给我安装上了,包括 access 啊,然后前端的一个目录啊,配置添加开发代理 ipi 页面设计文件清单。 哎,这边的话给我修改了一下啊,修改了一下,一代调整。 ok 啊,这可能我是新建啊。 ok, 这个还可以啊,然后这边的话它是做了十三个步骤啊,然后,呃,我们可以点那个 build 啊,因为它现在是一个计划 plan, 然后我们点 build, 然后他在执行这些步骤的时候啊,其实啊,我这边的话你就看这个吧,看我们 id 里面啊,他他已经一步步,你看像这个 dpc 啊,他已经给我已经给我建成了啊,然后后面的还有一会啊,因为我们现在不是用的 fast 了, fast 太贵了,我们现在是用普通的普通模式。 ok, 稍微等一会啊,然后他再新建项目,然后这边的话提示啊,我这边要运行安装啊,安装这个 vroot 啊,他可以帮我们安装啊,我们可以绕一下,当然可能不一定权限够啊,不一定有权限,因为我这个,呃, cos 的 话其实应该用管理员权限啊,不一定有权限啊, 也不一定能执行成功,执行不成功的话我就自自己执行啊,因为它这边的话给大家看一下啊,像那个前端项目我们也能打开,我们前端项目打开一下啊, close trust 啊,这边的话我看一下啊, run 我们看一下啊,他这边的话你看这个,其实我们在这边终端里面可以执行的啊,但是我们不知道他有没有跟我们执行啊,就是我们这边应该也可以啊,应该我们已经执行成功了啊, ok 啊,然后他再配置啊,你看他他他,反正他一条龙服务啊,帮我们都可以运行那个安装库啊,安装库啊,是不是很强大?但是记得啊,安装速度快点,加个加个淘宝镜像。 ok 啊,就是我们需要一些开发工具,不然的话你弄不好这东西, 我不知道他给我弄到什么进度了,我们去看一下,你看后端是已经生成了啊,但是我们看一下他这个测数据也有就挺好的,你看这边的话我们再看一下啊,看一下这边,这边不管,这边的话爆头不管,因为他没给我们弄完呢, 然后它已经这个执行完了,执行完了之后啊,它会会给我们一个操作清单啊,做了哪些事? ok, 然后我们来看一下啊,这操作完之后啊,它也不一定全对啊,我们看一下它的一个,呃,看一下它这边,首先数据库配置啊,当然我这边密码是一二三四五六啊,然后 db student, 我 这边是自己要去新建一下,我这边数据库新建一个 db student, 当然呃,每个公司的规范都不一样啊,比如说有的叫 db 开头的啊,所以的话,我这边其实呃就简单入门嘛,我们后面的话要把公司规范啊,都要都要写上去啊,当然我们后面还有高级的一些技巧,写规则或者技能包啊, skis。 ok 啊,这个我们后面讲项目再说吧,现在一下子讲太多,大家肯定会晕啊,大家不能晕啊。 ok, 然后的话我们就直接执行一下啊, k 档执行一下这个脚本, ok 然后这个是用户表啊这个是学生表,然后这是班级表。 ok 啊,然后,呃我们看一下,我们直接来启动啊,直接启动一下可能会有错误啊,正常的。 ok 啊,这次比较意外,居然没有错误啊,我前面几次用的是四点五啊,它是有错误的,然后我我就把错误内容我就把错误内容贴贴进去,然后它自动修复啊,当然这次没没错,我也没办法啊。呃然后这边啊这边的话前段啊前段我们来运行一下啊,这个 v, 呃 v 的 话是 n p r d v 啊,我们启动一下, 启动完之后啊,然后我们来测试, ok 啊,这是它的一个界面啊,然后用户名密码在这。其实界面还可以啊。当然呢你你需要一些特殊的需求,你就可以跟跟那个科室提啊,然后模型给你处理啊,你要什么需求都可以啊,当然我们以后后面会学到一些技能包啊。呃那个那个密码,我的密一二三 登录一下,哎能登录啊能登录之后我们看一下,它是有那个先不管啊。 ok, 我 们看一下啊,这边要退出啊,然后这边搜索看一下啊,看它有行不行,哎这个可以啊,一般不会错啊这个一般不会错,最多它是生成代码有问题,就是因为它带了空格,它是没有给我那个 ok, 这个好多啊 ok 啊,然后可以新增啊,新增的话我就随便来一个啊,班级班级 ok。 哎添哪去了? 好像是没添加成功啊。哦有的啊有的它怎么没给我显示呢? 哦我知道了,我这边有个搜索 sorry 啊,它添加在这了,它它这个联动线比较好的,这个我就,我就不测试了,这个一般不会有问题的。 ok。 然后这边还有个班级管理啊,添加、修改、删除, ok, 是 不是还可以啊? ok。

您好,说一下 spring boot 怎么给配置文件的敏感性加密的?这个我知道,我们之前项目做过,我们用着 accept, 呃,我们先有一段依赖,再配置延迟,把配置文件的密码换成对应的加密密文就可以了。 刚才这位面试员的回答存在明显问题,首先回答过于片面,只提及了 accept 一 种主流的实现方式,对更安全 更推荐了自定义加解密方式,完全未提及。其实对解散的讲解只停留在表面的操作,未说明其核心缺陷,对加密的核心安全逻辑理解不到位。最后,对整体的加密方案的分类和选型也没有清晰的认知,回答的完整性和深度都不足。接下来,我就针对使用部的配置文件敏感信息加密 给大家做一次完整且准确的讲解,帮大家理清核心逻辑和正确实现方式。简单来说,使用部的配置文件敏感信息加密, 本质上就是针对项目配置文件以明文形式存储的数据库连接密码、 windows 密钥接口、健全令牌等核心信息, 通过专业的加解密算法,加明文转换为密文进行存储,在项目启动、运行或实际使用这些信息的节点,再加密文还原成明文的安全防护手段,其核心目的是为了防止配置文件不慎泄露后导致核心敏感信息被非法盗取, 综合提升使用部的项目部署和运营过程中的整体安全性。这种加密的核心逻辑是用密文存储,结合运营时解密计划明文存储,且解密都在项目启动的配置加载阶段完成,既保证业务代码能正常获取明文,也能防止配置文件泄露后明 感信息被直接获取。不同加密方式的解密逻辑略有差异,业务代码嵌入解密需手动调用节点执行解密解散的,借助使用部的自动装配拦截特定标识配置下,并通过原子自动解密。自定义加解密则通过实现环境后置处理器接口,在应用启动前完成解密并 重新接入环境。整体均围绕加密、生成密文、标识密文、指定阶段解密三个核心环节展开。目前主流的实践方式有三种,每种方式都有明确的操作流程。 第一种是解密方法,切入业务逻辑代码。第一步要编辑通用的加解密工具类,实现基础的加解密算法。第二步,在配置文件中直接存储敏感信息的密文,不需要做任何特殊标识。 第三步,在 service、 map 等业务代码需要调用敏感信息的位置,手动调用工具类的解密方法,将密文还原成密文后再进行使用。第二种是使用 gzip。 第三步,库实现加密。第一步,完成依赖引入, 在项目依赖管理文件中引入 gedit 指令部的启动器依赖,完成第三方库的集成。第二步,进行颜值配置,在配置文件中配置 gedit 加解密所需的颜值,该颜值是 gedit 算法完成加解密的核心依据。 第三步,生成密文,通过自定义工具内或在线加解密工具,结合已经配置的颜值,将敏感信息的密文将默认为对应的密文。 第四步,完整配置替换,将配置文件中敏感信息密文替换为加密密文的存储。第五步,实现自动解密。 项目启动时, gsm 会通过自动装备机制识别并拦截带有加密密文标识的配置项,利用配置原则自动完成解密。解密后的铭文会正常注入实兵环境,供业务代码直接调用。第三种是自定义加解密算法,结合自动装备,这也是最推荐的方式。第一步,并写加解密算法,工具类 选定。如 a、 e、 s 这类主流的加解密算法,只定义实现密文生成和解密工具类,注意密钥不需要在配置文件中进行配置。第二步,实现环境后置处理器编写类,实现时运步的 evarrent process 接口,并重写其中的核心方法,在方法中编写逻辑,编辑项目的所有配置项。第三步,完整配置项的匹配与解 秘。在便利的逻辑中,根据自定义规则,比如常用的加密密文格式,匹配出需要解密的敏感配置项。第二个,自定义工具类,将密文解密为明文,同时加解密后的箭头队进行临时重组。 第四步,完整自动装备的注册。在项目指定资源目录下创建 steam factory 文件,将实现环境后置处理器的全路径注册到该文件中,让 steam 的 启动时能够扫描并加载该类。第五步,进行配置替换。将配置文件中的敏感信息明文替换为制定规则标识的密文。 项目启动时,后置处理器会在配置加载阶段自动完成解密,并将明文重新写入环境配置。这三种实验方式对应的不同的使用场景各有适配性,不能盲目选择。第一种解密方法,切入业务逻辑代码的方式,适用于快速开发的小型测试项目、临时演示项目。 这类项目对代码的拮合度和可维护性要求极低,完全不适用生产环境、企业级质质项目以及长期需要维护的项目。第二种,使用 gcf 第三步库实验加密方式,适用于中小型生产项目。这类项目开发周期短,需 快手实验加密功能,且能够保证配置文件的物理存储安全。比如项目仅部署在企业内部服务器,配置文件不存在外部泄露的风险。该方式不适用于配置文件需要对外分发部署在公安服务器以及对安全等级要求较高的生产项目。第三种,自定义加减密算法结合自动装备的方式, 适用于企业级生产项目。公网部署的项目。对敏感信息安全等级要求高的场景,比如金融、电商、政务类项目,或者是配置文件需要在多环境之间传输的场景。该方式的开发和维护成本相对较高,不适用于快速开发的测试项目, 以及开发成本和维护成本有严格限制的微型项目。面试中,回答这类问题需要保证逻辑完整,重点突出。首先要明确加密的核心目的,这样业务切入法、即塞法、制定加解密法的顺序分别陈述,避免回答片面,重点说明即塞的缺陷以及制定加解密的优势。 选型上,生产环境优先推荐制定加解密。中小型项目可选用即塞业务切入法,仅适于测试场景, 补充 evamposite 接口的作用能体现技术深度。结合实际项目部署的复杂场景,大家可以思考一下,除了这些核心实践方式,还能从哪些细节入手,进一步强化配置文件敏感信息的安全防护,让加密方案更稳固、更可靠?谢谢观看关注我,求知不迷路!

大家好,接下来呢我们来演示一下,我们使用土豆 ai 这个平台来快速地实现了一个这个网上购物商城系统啊,这里呢?呃,在我们这个平台上它是有这个在线运行功能的, 我们先点开一下子啊,他这里有在线运行,构建完之后呢,他就可以去再下来去查看我们这个生成之后的这个效果了。这里呢我是提前打开这个窗口啊,因为它构建是需要一段时间的,这个就是我们生成的这个页面,看到吧?然后这个就是我们这个后台页面, 行,然后这里呢我也把这个代码下载下了,我们在本地来看一下啊,我们对应的这个前后台的一个功能, 分别是我们这个后台和我们这个前台,然后管理章就是这个 l e、 l e、 v c l m, 然后是我们管理员登录, 然后我们来看一下我们对应的一个功能啊,你像管理员的话,它就是一些基本的这个管理功能,对吧?然后我们来到我们这个后台,你首先的话就是这个登录呗,然后用户管理、商家管理,然后这个上面类型管理, 这个商品管理里面包含这个商品类型管理和这个商品管理。然后又是订单管理,这个管理员是查可以查看这个所有的这个订单信息的, 然后在那个商家那边呢是可以查看自己家的这个订单信息的。还有这个系统管理,也就是我们这个轮流图管理这个促销活动呢,是我们在生成这个项目的时候,额外去创建了一个新的一个模块,这就是一个展示的一个效果,看到吧?然后呢我们再来看一下我们这个前台, 呃,前台的话,因为我是知道这个账号密码啊,如果大家不知道的话呢,可以点击这个立即注册去注册一个新的这个账号,或者呢去看我们这个数据库,打开我们这个数据库,找到我们这个 us 表,然后我们来看一下啊, 这 us 张明明也就是 z m m。 然后我们来使使用这个账号密码来进行一下登录, ok, 这个就是我们登录之后的一个效果,看到吧?然后我们来看一下我们对应的这个功能啊, 你像用户的话呢,它就是这个登录注册,然后个人信息管理,对吧?在这个个人中心,然后还有这个密码修改商品新,呃,看错了啊? 公网信息查看,公网信息查看,然后还有商品信息查看。购物车,然后购买这个商品信息的一个点赞收藏,对吧?我们进入,对吧?加入购物车购买、点赞、收藏, 然后呢还有这个地址管理,以及我的我的这个订单管理,对吧?在这个个人中心是我地址我的订单,对吧?那这部分呢,就是我们设成这个项目之后呢,可以去进行一个扩展的一个功能啊,因此呢这个里面就是没有的啊, 叫,然后我们接着来看啊。呃,现在是商家这一部分,让我们找一个商家的这个账号来进行登录,比如说这个 aa, 那 么对于商家的话,他就是就是能管理自己家的这个商品信息,对吧?呃,然后看自己家的这个订单信息,对吧? q i p 八,然后是这个商家账号错了,那我们来直接去退出去后台啊? mark, 这个,这个 ok, 对 吧?然后个人信息,然后呢?商品信息管理,对吧?然后自己加这个订单信息管理, 对吧?那接下来呢?我们生成一套这个生成项目之后呢?我们是可以在这个商品进行扩展的,或者说进行这个修改的。你比如说,呃,我现在是一个二手交易商城,那么我们怎么改呢?呃,因为二手交易商城它也有可能有三个角色,对吧?卖家、买家和这个管理员嘛,对吧?然后我们来看一下啊, 你像我现在是一个网上购物商城,对吧?我直接复制一下这个名字,先找到我们这个前台,就是 client 这粘贴, 看到吧?它这里有个有一个相匹配的,然后我们直接改成这个二手,比如说手机二手交易商城,可以吧?然后我们直接替换就行了。然后我们来看一下 手机二手这个交易商城,然后再看一下后台,这个就直接是商城后台,那么我们也给他替换一下,找到我们这个阿联 酋商城后台,然后我们就叫做二手手机交易商城后台,对吧?我们也是进行这个替换, ok, 然后我们再来看此时呢,呃,他是不是这个字数有点多了啊?然后那我们把这个后台给清掉吧, ok, 此时的话它是不是就是,呃变了一个名字呀?对吧?然后呢我们可以去数据库里面把这些表,比如说这什么地址呀、评论呀,还有这什么点了收藏,包括这个龙图表, 这些数据全部给它删了。然后呢我们去百度去搜索这个数据,然后呢找到我们这个管理端,嗯,我们用一个商家进行登录啊, 商家,然后呢去添加这个新的这个 这个二手这个手机信息,或者说我们直接把这个数据给他删了,对吧?批量删除,看到吧?然后我们再去新增这个新的这个二手这个手机数据,是不是那么这个上面类型的话,那就是管理员去操作了,对吧?管理员先去把这个上面类型都改成手机相关的,那么这个商家去添加的话,他就是新的这个,呃, 新的商品呢?就是跟手机相关的这个商品,对吧?然后后续呢我们这个系统还会上线,上线那个一键换肤的换肤的一个功能啊。呃,也希望大家多多关注我们。呃,那这个功能就到这里,谢谢大家。