自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 收藏
  • 关注

原创 19. 文件上传下载

【代码】19. 文件上传下载。

2024-01-28 09:30:00 408

原创 18. Spring Boot启用Swagger2

现在,在主Spring Boot应用程序中添加@EnableSwagger2注释。@EnableSwagger2注释用于为Spring Boot应用程序启用Swagger2。Swagger2是一个开源项目,用于为RESTful Web服务生成REST API文档。它提供了一个用户界面,可通过Web浏览器访问RESTful Web服务。要在Spring Boot应用程序中启用Swagger2,需要在构建配置文件中添加以下依赖项。主Spring Boot应用程序的代码如下所示 -

2024-01-28 09:00:00 463

原创 17. Spring Boot Actuator

Spring Boot执行器(Actuator)提供安全端点,用于监视和管理Spring Boot应用程序。在本章中,将详细了解如何为应用程序启用Spring Boot执行器。要为Spring Boot应用程序启用Spring Boot执行器端点,需要在构建配置文件中添加Spring Boot Starter执行器依赖项。请注意,如果指定了管理端口号,则相同的应用程序将在两个不同的端口号上运行。如果要使用单独的端口号访问Spring引导程序,在application.yml 文件中添加以下属性。

2024-01-27 16:24:06 681

原创 16. Spring Boot启用HTTPS

在application.properties文件中提供服务器端口:443,密钥存储文件路径,密钥存储密码,密钥存储类型和密钥别名。要创建自签名证书,Java运行时环境与证书管理实用程序密钥工具捆绑在一起。它显示在这里给出的代码中 -可以创建可执行的JAR文件,并使用以下Maven或Gradle命令运行spring boot应用程序。默认情况下,Spring Boot应用程序在应用程序启动时使用HTTP的8080端口。如果是在application.yml 下面使用YAML属性,则可以使用以下代码 -

2024-01-27 16:22:20 1060

原创 15. 扩展: Spring Boot CORS支持

例如,Web应用程序在8080端口上运行,并且使用JavaScript尝试从9090端口使用RESTful Web服务。在这种情况下,在Web浏览器上将面临跨源资源共享安全问题。需要通过对控制器方法使用@CrossOrigin注解来设置RESTful Web服务的起源。跨源资源共享(CORS)是一种安全概念,用于限制Web浏览器中实现的资源。需要定义显示的@Bean配置,以便为Spring Boot应用程序全局设置CORS配置支持。在本章中,将详细了解如何为RESTful Web服务应用程序启用跨源请求。

2024-01-26 14:21:55 717

原创 14. Spring Boot的自动配置

SpringBoot 能够风靡,很大一部分功劳需要归功于它预先提供的一系列自动配置的依赖模块,而这些依赖模块都是基于以上 @Conditional 复合 Annotation 实现的,这也意味着所有的这些依赖模块都是按需加载的,只有符合某些特定条件,这些依赖模块才会生效,这也就是我们所谓的“智能”自动配置。在实现自动配置的过程中,除了可以提供基于条件的配置,我们还可以对当前要提供的配置或者组件的加载顺序进行相应调整,从而让这些配置或者组件之间的依赖分析和组装可以顺利完成。

2024-01-26 14:20:27 1159

原创 13. 扩展:SpringApplication的执行流程

6)根据用户是否明确设置了applicationContextClass 类型以及初始化阶段的推断结果,决定该为当前 SpringBoot 应用创建什么类型的 ApplicationContext 并创建完成,然后根据条件决定是否添加 ShutdownHook,决定是否使用自定义的 BeanNameGenerator,决定是否使用自定义的 ResourceLoader,当然,最重要的,将之前准备好的 Environment 设置给创建好的 ApplicationContext 使用。

2024-01-25 10:41:20 879

原创 12. banner 定制

Spring Boot 启动时默认会显示以下 LOGO:/\ /__ _( ( )__ | '_ | '| | ’` | \ \ \\/)| |’ || .__|| || |=========|/=/实际上,Spring Boot 支持自定义 logo 的功能。让我们来看看如何实现的。

2024-01-25 10:37:52 871

原创 11. 发送邮件

Spring Boot 收发邮件最简便方式是通过 spring-boot-starter-mail。spring-boot-starter-mail 本质上是使用 JavaMail(javax.mail)。如果想对 JavaMail 有进一步了解,可以参考:JavaMail 使用指南。

2024-01-24 20:15:23 484

原创 10. Profile

使用 @Profile 注解可以指定类或方法在特定的 Profile 环境生效。假设,一个应用的工作环境有:dev、test、prod。注意:不同 profile 之间通过 — 分割。

2024-01-24 20:11:54 336

原创 9. 属性加载

然后,你可以如同 properties 文件中的属性一样,使用 @Value 注解来访问 YAML 中配置的属性。可以通过 spring.profiles.active 参数来激活 profile,如果没有激活的 profile,默认会加载 application-default.properties 中的配置。SpringApplication 会自动加载以下路径下的 application.properties 配置文件,将其中的属性读到 Spring 的 Environment 中。

2024-01-23 17:29:05 908

原创 8. 处理异步请求

默认情况下,在方法上指定 @Async 时,使用的执行器是在启用异步支持时配置的执行器,即如果使用 XML 或 AsyncConfigurer 实现(如果有),则为 annotation-driven 元素。在这种情况下,“otherExecutor”可以是 Spring 容器中任何 Executor bean 的名称,也可以是与任何 Executor 关联的限定符的名称(例如,使用 元素或 Spring 的 @Qualifier 注释指定) )。但是,这些方法需要具有 Future 类型的返回值。

2024-01-23 17:19:49 374

原创 7. Spring Boot 与MyBatis集成

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。它避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。因为 MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs (Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。

2024-01-22 11:05:21 1300

原创 QT实现飞机大战-2

基于QT实现的飞机大战小游戏,本章主要介绍战机发射子弹,敌机出现,爆炸,音效。第一章内容链接:https://blog.csdn.net/muLanlh/article/details/125924870

2024-01-22 10:01:51 2179

原创 6. Spring Boot的starters

Java 的日志系统多种多样,从 java.util 默认提供的日志支持,到 log4j,log4j2,commons logging 等,复杂繁多,所以,应用日志系统的配置就会比较特殊,从而 spring-boot-starter-logging 也比较特殊一些,下面将其作为我们第一个了解的自动配置依赖模块。不过,spring-boot-starter-jdbc 以及与其相关的自动配置也不总是带来便利,在某些场景下,我们可能会在一个应用中需要依赖和访问多个数据库,这个时候就会出现问题了。

2024-01-20 14:57:42 2259

原创 5. yaml 配置文件

YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。用- 值表示数组中的一个元素。

2024-01-20 14:52:11 430

原创 4. 示例:更改监听端口

默认Spring Boot启动是监听在8080上的。然后再启动,启动成功并且绑定到端口8180。如果8080被使用,就会报以下错误。这个时候可以更换一个新的端口。

2024-01-18 18:42:41 489

原创 3. 观察Application

这里的 @Configuration 对我们来说并不陌生,它就是 JavaConfig 形式的 Spring IoC 容器的配置类使用的那个 @Configuration,既然 SpringBoot 应用骨子里就是一个 Spring 应用,那么,自然也需要加载某个 IoC 容器的配置,而 SpringBoot 社区推荐使用基于 JavaConfig 的配置形式,所以,很明显,这里的启动类标注了 @Configuration 之后,本身其实也是一个 IoC 容器的配置类!

2024-01-18 18:41:33 876

原创 2. Git

Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。Git有什么特点?简单来说就是:高端大气上档次!那什么是版本控制系统?如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……

2024-01-17 17:41:57 1160

原创 1. 安装Git

第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

2024-01-17 17:37:35 478

原创 2. 示例:Spring Boot 入门

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。习惯优于配置。

2024-01-15 18:18:15 1107

原创 1. Java Config配置Bean

在 JavaConfig 形式的依赖注入过程中,我们使用方法调用的形式注入依赖,如果这个方法返回的对象实例只被一个 bean 依赖注入,那也还好,如果多于一个 bean 需要依赖这个方法调用返回的对象实例,那是不是意味着我们就会创建多个同一类型的对象实例?从代码表述的逻辑来看,直觉上应该是会创建多个同一类型的对象实例,但实际上最终结果却不是这样,依赖注入的都是同一个 Singleton 的对象实例,那这是如何做到的?

2024-01-15 18:16:11 829

原创 9. 乐观锁

当程序中出现并发访问时,就需要保证数据的一致性。以商品系统为例,现在有两个管理员均想对同一件售价为 100 元的商品进行修改,A 管理员正准备将商品售价改为 150 元,但此时出现了网络问题,导致 A 管理员的操作陷入了等待状态;此时 B 管理员也进行修改,将商品售价改为了 200 元,修改完成后 B 管理员退出了系统,此时 A 管理员的操作也生效了,这样便使得 A 管理员的操作直接覆盖了 B 管理员的操作,B 管理员后续再进行查询时会发现商品售价变为了 150 元,这样的情况是绝对不允许发生的。

2024-01-14 10:00:00 760 1

原创 8. 自定义分页

EmployeeMapper.java自定义接口。

2024-01-14 09:30:00 407

原创 7. 分页插件

此时分页的数据就应该是年龄在 20~50 岁之间,且 gender 值为 1 的员工信息,然后再对这些数据进行分页。

2024-01-13 10:14:13 560

原创 6. 逻辑删除

还是参照《阿里巴巴Java开发手册》第 5 章 MySQL 数据库相关的建议,对于布尔类型变量,不能加 is 前缀,所以我们的属性被命名为 deleted,但此时就无法与数据表的字段进行对应了,所以我们需要使用 @TableField 注解来声明一下数据表的字段名,而 @TableLogin 注解用于设置逻辑删除属性;原来在查询时携带了一个条件: is_deleted=0 ,这也说明了 MyBatisPlus 默认 0 为不删除,1 为删除。

2024-01-13 10:13:41 455

原创 5. 属性自动填充

【代码】5. 属性自动填充。

2024-01-12 10:16:02 328

原创 4. ID 策略

每张表维护自己的 id?对于一个大型应用,其访问量是非常巨大的,就比如说一个网站每天都有人进行注册,注册的用户信息就需要存入数据表,随着日子一天天过去,数据表中的用户越来越多,此时数据库的查询速度就会受到影响,所以一般情况下,当数据量足够庞大时,数据都会做分库分表的处理。以 UUID 为例,它生成的是一串由数字和字母组成的字符串,显然并不适合作为数据表的 id,而且 id 保持递增有序会加快表的查询效率,基于此,MyBatisPlus 使用的就是 SnowFlake(雪花算法)。

2024-01-12 10:15:32 826

原创 3. 自定义SQL

【代码】3. 自定义SQL。

2024-01-11 09:56:39 361

原创 2. 条件构造器

条件构造器提供了丰富的条件方法帮助我们进行条件的构造,比如 like 方法会建立模糊查询,它是对参数的前后都加上了 % ,若是只想查询以参数开头的名字,则可以使用 likeRight 方法,若是想查询以 参数结尾的名字,,则使用 likeLeft 方法。年龄的比较也是如此, gt 是大于指定值,若是小于则调用 lt ,大于等于调用 ge ,小于等于调用 le ,不等于调用 ne ,还可以使用 between 方法实现这一过程,相关的其它方法都可以查阅源码进行学习。

2024-01-11 09:56:06 400

原创 1. 环境搭建

这是因为实现 EmployeeService 接口能够更方便地对业务进行扩展,一些复杂场景下的数据处理,MyBatisPlus 提供的 Service 方法可能无法处理,此时我们就需要自己编写代码,这时候只需在 EmployeeService 中定义自己的方法,并在 EmployeeServiceImpl 中实现即可。事实上,我们只需让 EmployeeServiceImpl 继承 ServiceImpl 即可获得 Service 层的方法,那么为什么还需要实现 EmployeeService 接口呢?

2024-01-10 15:43:25 357

原创 12. SSM整合

【代码】12. SSM整合。

2024-01-10 10:21:01 1184

原创 11.拦截器

OverrideSystem.out.println("preHandle 拦截器拦截了");@OverrideSystem.out.println("postHandle 方法执行了");@OverrideSystem.out.println("afterCompletion 方法执行了");

2024-01-10 10:18:11 376

原创 10.文件上传

Spring MVC 为 文 件 上 传 提 供 了 直 接 的 支 持 , 这 种 支 持 是 通 过 即 插 即 用 的MultipartResolver 实现的。Spring 用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类:CommonsMultipartResolver。

2024-01-10 10:17:44 354

原创 9.国际化

AcceptHeaderLocaleResolver:据 根据 HTTP 的 请求头的 Accept-Language 参数确定本地化类型,如果没有显式定义本地化解析器, SpringMVC 使用该解析器。当接受到请求时,SpringMVC 会在上下文中查找一个本地化解析器(LocalResolver),找到后使用它获取请求所对应的本地化类型信息。SpringMVC 还允许装配一个 动态更改本地化类型的拦截器,这样通过指定一个请求参数就可以控制单个请求的本地化类型。切换语言的参数名称必须:locale。

2024-01-09 14:48:18 380

原创 8.处理JSON

当控制器处理方法使用到 @RequestBody/@ResponseBody 或HttpEntity/ResponseEntity 时, Spring 的 首先根据请求头或响应头的 Accept 属性选择匹配的 HttpMessageConverter, 进而根据参数类型或泛型类型的过滤得到匹配的HttpMessageConverter, 若找不到可用的 HttpMessageConverter 将报错。编写目标方法,使其返回 JSON 对应的对象或集合。/files/abc.txt 准备一个下载的文件。

2024-01-09 14:44:18 888

原创 7.数据转换、格式化、校验

ConversionService 是 Spring 类型转换体系的核心接口。可以利用 ConversionServiceFactoryBean 在 Spring 的 IOC 容器中定义一个ConversionService. Spring 将自动识别出 IOC 容器中的 ConversionService,并在Bean 属性配置及 Spring MVC 处理方法入参绑定等场合使用它进行数据的转换。

2024-01-08 13:59:51 1071

原创 6.综合案例

form:input、form:password、form:hidden、form:textarea:对应 HTML 表单的 text、password、hidden、textarea 标签。通过 SpringMVC 的 表单标签可以实现将模型数据中的属性和 HTML 表单元素相绑定,以实现表单数据 更便捷编辑和表单值的回显。form:radiobutton:单选框组件标签,当表单 bean 对应的属性值和 value 值相等时,单选框被选中。form:errors:显示表单组件或数据校验所对应的错误。

2024-01-08 13:59:00 966

原创 5. 处理响应数据

若希望在多个请求之间共用某个模型属性数据,则可以在控制器类上标注一个 @SessionAttributes,SpringMVC 将在模型中对应的属性暂存到 HttpSession 中.@SessionAttributes(types=User.class) 会 将 隐 含 模 型 中 所 有 类 型 为 User.class 的属性添加到会话中。@SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外,还可以通过模 型属性的对象类型指定哪些模型属性需要放到会话中。

2024-01-07 17:07:50 355

原创 4. 处理请求数据

使用 @RequestHeader 绑定请求报头的属性值 ,请求头包含了若干个属性,服务器可据此获知客户端的信息,通过 @RequestHeader 即可将请求头中的属性值绑定到处理方法的参数中。SpringMVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。如:dept.deptId、dept.address.tel 等。使用 @CookieValue 绑定请求中的 Cookie 值 , @CookieValue 可让处理方法参数绑定某个 Cookie 值。

2024-01-07 17:07:05 376

飞机大战上半部分源代码

本资源是QT实现飞机大战博客的源码,主要包含飞机大战的图片、音频资源 博客章节 第一篇文章实现游戏界面的绘制、地图滚动、战机移动 章节地址:https://blog.csdn.net/muLanlh/article/details/125924870 第二篇文章实现战机发射子弹、敌机出现、爆炸效果、音效的添加 第三篇文章实现敌机发射子弹、产生boss、以及boss发射子弹 第四篇文章实现道具、血条、多种子弹

2024-01-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除