
java
文章平均质量分 71
java
Lvan的前端笔记
十年磨一剑
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring:Spring Security实践过程中的报错总结
要解决这个问题,你可以使用 io.jsonwebtoken.security.Keys 类中的 secretKeyFor 方法来生成一个安全的密钥。真实原因是SecurityContextHolder.getContext().getAuthentication().getPrincipal()结果是anonymousUser,anonymousUser 是 Spring Security 默认使用的一个特殊标识,表示未认证的用户。我在客户端调用自定义的路由 /login,提示302,服务端报错。原创 2024-11-11 11:11:25 · 1338 阅读 · 1 评论 -
spring:Springboot3使用模版引擎thymeleaf
Thymeleaf 是一个现代的服务器端 Java 模板引擎,用于在服务器端生成 HTML、XML、JavaScript、CSS 等文件。它常用于构建动态网页应用,尤其是与 Spring Boot 集成时,Thymeleaf 提供了一种简洁且易于使用的模板渲染方式。它可以帮助开发者将数据与视图相结合,并生成动态内容。原创 2024-10-12 16:47:22 · 1017 阅读 · 0 评论 -
spring:springboot3使用Spring Security,以及和springboot2的区别
Spring Security 是一个强大且高度可定制的安全框架,专为保护基于 Java 的应用程序而设计,尤其是 Spring 应用。它提供了一系列功能,帮助开发者实现身份验证(Authentication)、授权(Authorization)、防止常见安全漏洞(如 CSRF 攻击、Session Fixation 等)以及加密等安全措施。原创 2024-10-12 16:29:51 · 807 阅读 · 0 评论 -
java:详解java编译命令和启动命令
在 Java 开发过程中,编译 Java 源文件(通常以 .java 为扩展名)是不可或缺的一步。这一步骤是通过 javac 命令完成的,该命令是 Java 编译器(Java Compiler)的命令行工具。编译后的代码会生成字节码文件,这些文件以 .class 为扩展名,并可在 Java 虚拟机(JVM)上运行。原创 2024-09-30 11:59:12 · 1463 阅读 · 0 评论 -
java:brew安装rabbitmq以及简单示例
可以看我之前写的这篇消息队列MQRabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。原创 2024-09-26 14:55:11 · 1363 阅读 · 0 评论 -
java:邮件服务
开启了 IMAP 后,在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。它的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。后来 Spring 推出了 JavaMailSender 简化了邮件发送过程,JavaMailSender 提供了强大的邮件发送功能,可支持各种类型的邮件发送。发送邮件的本质是将一个人的信息传输给另外一个人,那么如何传输就需要商量好标准,这些标准就是协议。原创 2024-09-24 17:51:35 · 878 阅读 · 0 评论 -
java:异常处理
开发者可以通过继承Exception类或其子类来创建自定义异常,以表示程序中特有的错误情况自定义类继承于现有的异常类结构:RuntimeException、Exception提供全局常量:serialVersionUID 序列版本号,用于标识类提供重载的构造器//自定义异常类super(msg);//学生类}else {throw new MyException("不能输入负数");//测试类try {原创 2024-09-24 11:48:30 · 562 阅读 · 0 评论 -
spring:环境变量
在Spring Boot中,你可以通过配置文件来适应不同的运行环境(如开发环境、测试环境和生产环境)。Spring Boot支持多种方式来管理这些不同环境的配置。原创 2024-08-23 17:59:00 · 694 阅读 · 0 评论 -
spring:Springboot设置跨域访问 & Spring Security设置跨域访问
通过实现 WebMvcConfigurer 接口并重写 addCorsMappings 方法来全局配置 CORS。这种方法会应用于所有的控制器。如果你只想对特定的控制器或方法启用 CORS,你可以在该控制器或方法上使用 @CrossOrigin 注解。在 configure(HttpSecurity http) 方法中进行这个配置。1、添加SpringSecurity的依赖配置。2、配置 Spring Security。原创 2024-08-16 17:03:57 · 728 阅读 · 0 评论 -
java:实现简单的验证码功能
验证码图片的url由后端的一个Controller生成,前端请求这个Controller接口的时候根据当前时间生成一个uuid,并把这个uuid在前端使用localStorage缓存起来,下一次还是从缓存中获取。这样,当点击登录按钮将数据提交到后台登录接口时,会从redis中获取uuid,然后通过这个uuid去获取验证码,和前端用户输入的验证码进行比较。Controller生成验证码之后,把前端传过来的uuid通过redis缓存起来,这里分两次缓存。原创 2024-08-16 11:10:42 · 900 阅读 · 0 评论 -
spring:Springboot升级到最新的3.0或者java8升级到java17所需要的改动(持续更新)
Spring Boot 3.0将所有底层依赖项从Java EE迁移到了Jakarta EE,会对一些使用了Java EE的方法造成影响,需要进行相应的修改和调整。但是有些原生方法是不需要去进行修改的,例如项目中的这几个方法,包不需要替换成jakarta.xxxx。修改application.yml的spring.redis配置为spring.data.redis。修改pom.xml文件,version版本根据实际情况配置最新。将javax.xxxx替换成jakarta.xxxx,例如。原创 2024-08-16 11:00:31 · 1201 阅读 · 0 评论 -
java:IDEA修改java版本的几个不同的地方
在IntelliJ IDEA项目中,.idea文件夹是一个非常重要的组成部分,它包含了项目的配置信息。这个文件夹下的各个文件扮演着不同的角色,共同确保项目在不同开发环境中的一致性和可移植性。可以看到 Platform Settings,也就是平台设置,区别于项目设置 Project Settings。原创 2024-08-15 15:15:01 · 5025 阅读 · 0 评论 -
java:IDEA装机必备的一些习惯配置、快捷键等等
如果你想选择一个文件就定位到左侧的位置,那么可以进行设置,选择 Always Select Opened File,而且你会发现那个定位的按钮消失了。那么如果想要直接找到这个接口函数的实现函数怎么办呢,则点击 option + CMD + 鼠标左键,则直接跳转到了对应的位置。一般接口和实现类的文件接口是这样的,接口是 interface 定义的所以是 I,实现类是 class 所以是 C。当你打开一个文件的时候,没有定位到左侧的文件列表,可以点击这个定位按钮。原创 2024-08-08 16:31:01 · 290 阅读 · 0 评论 -
java:Lambda函数式编程
java的Lambda表达式,函数式编程方式原创 2023-12-18 18:42:44 · 691 阅读 · 0 评论 -
spring:微服务springcloud入门以及eureka、ribbon、hystrix、feign、gateway的使用
微服务的简单入门原创 2023-12-18 09:00:00 · 1307 阅读 · 0 评论 -
spring:Springboot集成redis
做一个入门的Springboot集成redis案例,当在 redis 查到键名 redis_name 有数据的话,就返回缓存的数据,如果没有数据,就从数据库里查询出 redis_name 对应的数据返回。上面 utils 中我们使用 RedisTemplate 存储字符串会包含一些二进制的内容,其实就是看起来难受,对存取没有影响,如果介意可以使用StringRedisTemplate。原创 2023-12-07 17:27:48 · 358 阅读 · 0 评论 -
java:slf4j、log4j、log4j2、logback日志框架的区别与示例
java:slf4j、log4j、log4j2、logback日志框架的区别与示例原创 2023-12-05 11:43:57 · 2700 阅读 · 0 评论 -
java:封装统一的响应体code、data、msg、paging
我们在写接口的时候一般不会直接返回给前端数据,而是会有响应体,比如 code、data、msg,这样就有一个统一的结构方便前端处理,那么今天就来封装一个统一的响应体。1、在 config 包里新建 ApiResponse.java。这是一个非常简单的封装,如果更复杂的可以在这个基础上增加。原创 2023-12-04 15:33:20 · 2351 阅读 · 0 评论 -
spring:spring-boot-starter-actuator的使用
java:spring-boot-starter-actuator的使用原创 2023-12-01 15:50:18 · 2799 阅读 · 0 评论 -
java:springboot3集成swagger(springdoc-openapi-starter-webmvc-ui)
springboot3集成swagger报错Typejavax.servlet.http.HttpServletRequest not present,来使用springdoc-openapi-starter-webmvc-ui原创 2023-12-01 11:31:10 · 7027 阅读 · 4 评论 -
spring:springboot结合mybatis
springboot+Mybatis原创 2023-11-30 09:15:00 · 955 阅读 · 0 评论 -
java:IDEA中Maven常用操作
java:IDEA中Maven常用操作原创 2023-11-30 10:00:00 · 6258 阅读 · 0 评论 -
java:lombok库方便的使用@Getter和@Setter
java:lombok库方便的使用@Getter和@Setter原创 2023-11-29 10:39:34 · 1018 阅读 · 0 评论 -
java:jpa、Hibernate、Spring Data JPA、ORM以及和mybatis的区别
java:jpa、Hibernate、Spring Data JPA、ORM以及和mybatis的区别原创 2023-11-28 18:39:19 · 766 阅读 · 0 评论 -
java:CommandLineRunner命令行操作
java:CommandLineRunner命令行操作原创 2023-11-23 15:27:59 · 556 阅读 · 0 评论 -
java:application.properties的详细使用以及区分环境
java:application.properties的详细使用以及区分环境原创 2023-11-22 18:02:50 · 6356 阅读 · 0 评论 -
java:简单入门定时任务的几种方式Timer、Quartz、Spring Task
java:简单入门定时任务的几种方式Timer、Quartz、Spring Task原创 2023-11-21 17:56:45 · 589 阅读 · 0 评论 -
java:springboot单元测试spring-boot-starter-test
简单入门一下单元测试spring boot test原创 2023-11-17 17:38:00 · 856 阅读 · 0 评论 -
java:IDEA中的Scratches and Consoles
java:IDEA中的Scratches and Consoles原创 2023-11-17 16:21:51 · 2298 阅读 · 0 评论 -
java:基于jjwt写一个jwt工具类
java使用jwt原创 2023-11-15 18:44:30 · 1056 阅读 · 0 评论 -
java:详解常用的pom.xml配置
常用的 pom.xml 配置解释原创 2023-11-15 17:37:26 · 3926 阅读 · 0 评论 -
Java:mybatis简介
mybatis简单入门原创 2023-10-16 17:37:55 · 257 阅读 · 0 评论 -
spring:详解spring boot
Spring Boot是由Pivotal公司于2011年发起的开源项目,旨在解决Spring应用的配置和部署问题。Spring 框架是为了简化开发的,而 SpringBoot 是为了简化 Spring 开发的,由此可见,使用 SpringBoot 开发将会更加的方便简捷。虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开。了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。原创 2023-10-12 17:24:52 · 500 阅读 · 0 评论 -
spring:详解spring MVC
SpringMVC是一种基于Java的MVC(Model-View-Controller)Web开发框架,通过将业务逻辑、数据和界面分离,使得开发人员能够更高效地管理和维护代码,提高应用的可扩展性和可维护性。SpringMVC核心概念。原创 2023-10-12 17:24:08 · 520 阅读 · 0 评论 -
spring:详解面相切面编程AOP
然后,我们定义了两个方法logBefore和logAfter,它们分别在目标方法执行前和执行后被调用。Spring中的AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,用于处理那些在各个组件中经常出现的交叉关注点(cross-cutting concerns),比如日志记录、事务管理、安全性等。如果我们使用面向切面编程,则可以将这些操作作为一个切面(Aspect)定义出来,并在方法执行前后自动执行这些操作。元素来定义切面方法的目标方法在执行前和执行后被调用。原创 2023-10-11 10:35:03 · 168 阅读 · 0 评论 -
spring:详解控制反转IOC
依赖注入(DI)是实现控制反转的一种方式,它通过容器自动将所需的依赖关系注入到对象中,从而实现对象之间的解耦。总结起来,这四个注解的作用各不相同,@Autowired和@Qualifier主要用于自动装配bean,@Resource主要用于在J2EE环境中自动装配bean,而@Value主要用于注入基本类型和String类型的值。注解的概念:和XML文件一样,注解本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作。原创 2023-10-10 18:30:46 · 244 阅读 · 0 评论 -
java:使用Jedis操作redis
Jedis是一个非常实用的Redis客户端,可以方便的在Java应用程序中操作Redis数据库。本文介绍了Jedis客户端的连接方式、写入和读取数据、操作列表、集合以及哈希表数据的方法,并提供了相应的示例代码。Redis中的集合是一个无序的字符串数组,可以用来存储一系列的元素,而且每个元素都是唯一的。Redis中的列表是一个有序的字符串数组,可以用来存储一系列的元素。Redis是一个基于内存的高性能键值存储数据库,支持多种数据结构,如字符串、列表、集合等。可以通过Maven或Gradle来管理依赖。原创 2023-10-09 18:23:51 · 540 阅读 · 0 评论 -
java:解析json的几种方式
总的来说,Java提供了多种解析JSON数据的选项,其中包括Jackson、Gson和JSON.simple等流行的库。Java是一种流行的编程语言,它提供了很多实用的库和工具,在处理JSON数据时也不例外。在本文中,我们将介绍Java中如何解析JSON数据。JSON.simple是另一个流行的Java库,它提供了一些简单的API来解析JSON数据。Gson是另一个流行的Java库,它可以解析JSON数据。Jackson是一个流行的Java库,它可以轻松处理JSON数据。原创 2023-10-09 18:11:50 · 4048 阅读 · 0 评论 -
java:监听器Listener
其实实际用的比较少,只做了解。这里我们只了解其中一个监听器。原创 2023-10-09 11:52:15 · 115 阅读 · 0 评论 -
java:过滤器Filter
这里有个难点,我们通过过滤器拿到 req 对象的用户输入值,我们想把这个值替换后再赋值到 req 对象上然后交给 servlet,但是 req 对象没有赋值操作,那么就需要增强 req 对象的 getParameter 方法了,产生一个新的 req 对象。如果没有登录,则跳转到登录页面,提示"您尚未登录,请先登录"。对录入的数据进行敏感词汇过滤,敏感词汇参考《敏感词汇.txt》,如果是敏感词汇,替换为 ***。执行顺序:先拦截,如果通过的话就去请求资源,请求完资源再去执行放行后面的代码。原创 2023-10-08 18:36:55 · 623 阅读 · 0 评论