小色哥奇米

hongkongdoll videos    你的位置:小色哥奇米 > hongkongdoll videos >

奇米777me SpringBoot学习札记(六)——分页、跨域、上传、定制banner、Lombok、Hutool

发布日期:2024-09-04 19:10    点击次数:166

奇米777me SpringBoot学习札记(六)——分页、跨域、上传、定制banner、Lombok、Hutool

一、分页(pagehelper)

 pagehelper 是一个巨大实用的 MyBatis 分页插件,不错匡助咱们快速的收场MyBatis分页功能,而且pagehelper有个优点是奇米777me,分页和Mapper.xml全都解耦,并以插件的面目收场,对Mybatis扩张的经由进行了强化,这灵验的幸免了咱们需要径直写分页SQL语句来收场分页功能。

github名堂地址:https://github.com/pagehelper/Mybatis-PageHelper

汉文匡助:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md

1.1、快速起步 1.1.1、添加依赖

这里需要把稳也MyBatis的兼容问题,若是springboot pagehelper插件启动报错 [com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration]则需要更换版块,我使用2.5.13的Spring Boot与1.3.0的pagehelper是兼容的,示例名堂竣工的pom如下:

View Code 1.1.2、添加确立

在application.yaml文献中添加如下确立信息:

1.1.3、数据探问接口

StudentDao.java:

1.1.4、接口映射

resource/mapper/StudentDao.xml:

1.1.4、收场分页

StudentService.java:

1.1.5、调用分页方法

 PageController.java:

pageNum参数用于指定页号,默许值为1,pageSize用于指定每页记载数,默许值为3。

启动收尾:

默许值情况

带参数情况

pageNum:面前页的页码pageSize:每页显现的条数size:面前页显现的信得过条数total:总记载数pages:总页数prePage:上一页的页码nextPage:下一页的页码isFirstPage/isLastPage:是否为第一页/终末一页hasPreviousPage/hasNextPage:是否存在上一页/下一页navigatePages:导航分页的页码数navigatepageNums:导航分页的页码,[1,2,3,4,5]

1.2、封装央求与收尾

默许情况下央求参数并莫得使用对象封装,复返收尾包含冗余信息且需要与具体的业务关联。

1.2.1、央求参数封装

PageRequest.java 

1.2.2、反映收尾封装

 PageResult.java

二、跨域 2.1、跨域纲目

跨域:指的是浏览器弗成扩张其他网站的剧本。它是由浏览器的同源计策形成的,是浏览器对javascript施加的安全戒指。

举例:a页面想获得b页面资源,若是a、b页面的左券、域名、端口、子域名不同,所进行的探问活动都是跨域的,而浏览器为了安全问题一般都戒指了跨域探问,也便是不允许跨域央求资源。把稳:跨域戒指探问,其实是浏览器的戒指。判辨这少许很伏击!!!

同源计策:是指左券,域名,端口都要调换,其中有一个不同都会产生跨域;

 2.2、复返新的CorsFilter(全局跨域)

CORS,全称Cross-Origin Resource Sharing  ,是一种允许面前域(domain)的资源(比如html/js/web service)被其他域(domain)的剧本央求探问的机制,时时由于同域安全计策(the same-origin security policy)浏览器会谢却这种跨域央求。

示例:

前端探问辅导

在职意确立类,复返一个 新的 CorsFIlter Bean ,并添加映射旅途和具体的CORS确立旅途。

2.3、重写WebMvcConfigurer(全局跨域) 2.4、使用注解 (局部跨域)

在约束器(类上)上使用注解 @CrossOrigin:,示意该类的扫数方法允许跨域。

在方法上使用注解 @CrossOrigin:

2.5、手动设备反映头(局部跨域)

使用 HttpServletResponse 对象添加反映头(Access-Control-Allow-Origin)来授权原始域,这里 Origin的值也不错设备为 “*”,示意一起放行。

2.6、使用自界说filter收场跨域

最初编写一个过滤器,不错起名字为MyCorsFilter.java

三、上传

前端使用Vue+Axios收场AJAX上传文献,upfile.html如下:

application.yaml文献

后端约束器

启动恶果

在vscode中因为装配了Live Server会及时的刷新页面,上传后会自动刷新,不错淡薄*.png与*.jpg文献上传到前端目次中,设备如下:

 

点击设备

 

点击扩展设备,找到如下项

 

 在中间添加两项

 

保存确立即可。

四、启动Banner定制

咱们在掌握启动的时候,不错看到约束台显现了Spring的Banner信息,咱们不错通过定制这个功能,来摈弃咱们我方的掌握信息。

 

 

 若是要定制我方的Banner, 只需要在 resources 下摈弃一个 banner.txt 文献,输入我方的banner字符即可。

 

 再行启动名堂

Banner字符不错通过访佛以下网站生成:

-science.de/ascii/

奇米777me

五、lombok 5.1、lombok纲目

Lombok名堂是一个Java库,它会自动插入编订器和构建用具中,Lombok提供了一组有用的细心,用来排斥Java类中的多数样板代码。仅五个字符(@Data)就不错替换数百行代码从而产生干净,精真金不怕火且易于抠门的Java类。

在名堂中使用Lombok不错减少许多雷同代码的书写。比如说getter/setter/toString等方法的编写。

sex8

“Boilerplate”是一个术语,用于形容在掌握关键的许多部分中很少改革就雷同的代码。对Java谈话最常见的品评便是在大多数名堂中都不错找到这种类型的代码,由于谈话自身的局限性而愈加严重。龙目岛蓄意(Project Lombok)旨在通过用粗陋的细心集代替稠密的代码。

Lombok也存在一定风险,在一些设备用具商店中莫得Project Lombok复古选拔。 IDE和JDK升级存在冲破的风险,而况围绕名堂的主见和实施存在争议。

常用注解:

@Setter :注解在类或字段,注解在类时为扫数字段生成setter方法,注解在字段上时只为该字段生成setter方法。 @Getter :使用方法同上,分袂在于生成的是getter方法。 @ToString :注解在类,添加toString方法。 @EqualsAndHashCode: 注解在类,生成hashCode和equals方法。 @NoArgsConstructor: 注解在类,生成无参的构造方法。 @RequiredArgsConstructor: 注解在类,为类中需要颠倒处理的字段生成构造方法,比如final和被@NonNull注解的字段。 @AllArgsConstructor: 注解在类,生成包含类中扫数字段的构造方法。 @Data: 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。 @Slf4j: 注解在类,生成log变量,严格意旨来说是常量。 5.2、引入依赖

在pom文献中添加如下部分。(不明晰版块不错在Maven仓库中搜索)

5.3、使用注解  5.4、启动测试

测试类:

测试收尾:

不错看到有带参构造方法,toString方法也被重写过了。

需要把稳的是新版块的IDEA不再需要装配插件,依然默许整合了。

六、Hutool 6.1、简介

Hutool是一个小而全的Java用具类库,通过静态方法封装,缩短干系API的学习老本,进步职责遵守,使Java领有函数式谈话般的优雅,让Java谈话也不错“甜甜的”。

Hutool中的用具方法来自每个用户的诚心诚意,它涵盖了Java设备底层代码中的方方面面,它既是大型名堂设备中处罚小问题的利器,亦然袖珍名堂中的遵守担当;

Hutool是名堂中“util”包友好的替代,它简约了设备东说念主员对名堂中公用类和公用用具方法的封装技能,使设备专注于业务,同期不错最大限制的幸免封装不完善带来的bug。

Hutool = Hu + tool,是原公司名堂底层代码剥离后的开源库,“Hu”是公司称呼的示意,tool示意用具。Hutool谐音“详尽”,一方面精真金不怕火易懂,一方面寓意“艰难详尽”。

Hutool的主见是使用一个用具方法代替一段复杂代码,从而最大限制的幸免“复制粘贴”代码的问题,绝对改变咱们写代码的方式。

以蓄意MD5为例:

【当年】掀开搜索引擎 -> 搜“Java MD5加密” -> 掀开某篇博客-> 复制粘贴 -> 改改好用 【当今】引入Hutool -> SecureUtil.md5()

Hutool的存在便是为了减少代码搜索老本,幸免相聚上狼藉不皆的代码出现导致的bug。

GitHub:https://github.com/dromara/hutool/

官网:https://www.hutool.cn/

6.2、包含组件

一个Java基础用具类,对文献、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,构成多样Util用具类,同期提供以下组件:

模块先容 hutool-aop JDK动态代理封装,提供非IOC下的切面复古 hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤 hutool-cache 粗陋缓存收场 hutool-core 中枢,包括Bean操作、日历、多样Util等 hutool-cron 定时任务模块,提供类Crontab抒发式的定时任务 hutool-crypto 加密解密模块,提供对称、非对称和摘记算法封装 hutool-db JDBC封装后的数据操作,基于ActiveRecord想想 hutool-dfa 基于DFA模子的多关键字查找 hutool-extra 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等) hutool-http 基于HttpUrlConnection的Http客户端封装 hutool-log 自动识别日记收场的日记门面 hutool-script 剧本扩张封装,举例Javascript hutool-setting 功能更巨大的Setting确立文献和Properties封装 hutool-system 系统参数调用封装(JVM信息等) hutool-json JSON收场 hutool-captcha 图片考证码收场 hutool-poi 针对POI中Excel和Word的封装 hutool-socket 基于Java的NIO和AIO的Socket封装 hutool-jwt JSON Web Token (JWT)封装收场

不错把柄需求对每个模块单独引入,也不错通过引入hutool-all方式引入扫数模块。

6.3、文档

📘汉文文档

📘汉文备用文档

📙参考API

🎬视频先容

6.4、装配 6.4.1、Maven

在名堂的pom.xml的dependencies中加入以下试验:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.5</version>
</dependency>
6.4.2、Gradle
implementation 'cn.hutool:hutool-all:5.8.5'
6.4.3、下载jar

点击以下麇集,下载hutool-all-X.X.X.jar即可:

Maven中央库

把稳 Hutool 5.x复古JDK8+,对Android平台莫得测试,弗成保证扫数用具类或用具方法可用。 若是你的名堂使用JDK7,请使用Hutool 4.x版块(不再更新)

6.4.5、编译装配

探问Hutool的Gitee主页:https://gitee.com/dromara/hutool 下载通盘名堂源码(v5-master或v5-dev分支都可)然后干与Hutool名堂目次扩张:

./hutool.sh install

然后就不错使用Maven引入了。

6.5、Spring Boot中使用

1、添加依赖

2、使用用具库

启动收尾:

 

 处罚java.awt.HeadlessException的方法:

 

 再启动

6.6、日历养息与农历 6.7、摘记与加密

摘记算法是一种能产生颠倒输出步地的算法,这种算法的特色是:无论用户输入什么长度的原始数据,经过蓄意后输出的密文都是固定长度的,这种算法的旨趣是把柄一定的运算规矩对原数据进行某种面目的索取,这种索取便是摘记,被摘记的数据试验与原数据有密切干系,唯有原数据稍有改变,输出的“摘记”便全都不同,因此,基于这种旨趣的算法便能对数据竣工性提供较为健全的保险。

然则,由于输出的密文是索取原数据经过处理的定长值,是以它依然弗成收复为原数据,即音信摘记算法是不可逆的,表面上无法通过反向运算取得原数据试验,因此它时时只可被用来作念数据竣工性考证。

6.8、考证码

  考证码的作用:

  1、为了看护机器冒充东说念主类作念暴力破解

  2、看护大限度在线注册亏本工作

  3、看护亏本在线批量操

  4、看护自动发布

  5、看护信息被多数相聚团员

loing.html

启动:

6.9、发电子邮件

1、注册一个邮箱,如126

2、在spring boot名堂中添加依赖

3、邮件工作器确立

在classpath(在方法Maven名堂中为src/main/resources)的config目次下新建mail.setting文献,最小确立试验如下,在此确立下,smtp工作器和用户名都将通过from参数识别:

4、发送电子邮件

5、收尾

 

6.10、拼音

1、以下为Hutool复古的拼音库的pom坐标,你不错选拔大肆一个引入名堂中,若是引入多个,Hutool会按照以上规章选拔第一个使用

2、编写测试代码

3、收尾

6.11、条码(一维码),二维码

由于内行对二维码的需求较多,关于二维码的生成妥协析我合计应该四肢粗陋的用具存在于Hutool中。探讨到自行收场的难度,因此Hutool针对被庸碌招揽的的zxing (opens new window)库进行封装。而由于涉录取三方包,因此归类到extra模块中。

1、添加依赖

2、编写代码

3、收尾

6.12、读取Excel文献

1、更新依赖

2、准备Excel文献,如students.xlsx

 3、写读取代码

4、检察启动收尾

6.13、导入

 1、前端

2、后台

3、收尾

6.14、多条目组合搜索

1、StudentMapper.java

2、StudentMapper.xml

3、StudentService.java

4、StudentServiceImpl.java

5、StudentController.java

6、index.html

7、收尾

6.14、导出

1、导出测试

2、导出学生-前端

3、导出学生-后台

七、Element UI plus admin

基于Vue3 + Element Plus 的后台经管系统处罚决议

7.1、启动恶果

 

 7.2、先容

基于Vue3 + Element Plus 的后台经管系统处罚决议

该决议四肢一套多功能的后台框架模板,适用于绝大部分的后台经管系统设备。基于 Vue3 + pinia + typescript,援用 Element Plus 组件库,肤浅设备。收场逻辑粗陋,符合外包名堂,快速请托。

github:https://github.com/99510309/vue-manage-system

 Element Plus  vite 3  pinia  typescript  登录/刊出  Dashboard  表格  Tab 选项卡  表单  图表 📊  富文本/markdown编订器  图片拖拽/编订上传  权限经管  三级菜单  自界说图标 7.3、装配方法

7.4、完成学生经管

1、src\utils\request.ts

2、src/api/student/index.ts

classes/index.ts

3、src/views/student.vue

4、路由

sidebar.vue

router/index.ts

5、约束器 StudentController.java

6、StudentServiceImpl.java

7、StudentMapper.xml

8、StudentService.java

9、启动恶果

八、视频

https://www.bilibili.com/video/BV1fi4y1S79P?share_source=copy_web

https://space.bilibili.com/87194917/video

功课解答:https://www.bilibili.com/video/BV1Hs411F71x?share_source=copy_web

九、功课

1、完成上课的每一个示例,重现说明注解上课示例

2、使用hutool收场农历、获得与设备剪切板的试验

3、学会使用hutool匡助文档,找出大肆3个功能,并在Java中使用

4、下载hutool源代码奇米777me,增多一个用具类不错收场截取字符串两头的空格的静态方法,打包jar



上一篇:奇米777me 专访郭富城:我莫得偶像背负,心爱颠覆性变装

下一篇:楠里 足交 杭州一好意思容院偷拍主顾作念照应浩大视频当告白!女记者暗访,被惊呆!

Powered by 小色哥奇米 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群 © 2013-2024

top