- 博客(709)
- 收藏
- 关注
原创 代码托管(二)git(4)冲突解决
本地check out到当前分支,双击目标分支,选择需要cherry-pick的commit,右键选择cherry-pick。
2024-05-15 11:27:31 135
原创 jdk8新特性----Lambda表达式
Java的Lambda表达式是Java 8引入的一个特性,它支持函数式编程,允许将函数作为方法的参数或返回值,从而简化了匿名内部类的使用,并提供了对并行编程的更好支持。
2024-05-11 10:24:57 448
原创 spring模块(六)spring监听器(2)@EventListener
[email protected]("监听到 ContextRefreshedEvent...");log.info("监听到 MyEvent...");System.out.println("时间:" + myEvent.getTime() + " 信息:" + myEvent.getMsg());@[email protected]("监听到 MyEvent...");
2024-05-08 13:19:43 265 1
原创 spring模块(六)spring监听器(1)ApplicationListener
当某个事件触发的时候,就会执行的方法块。当然,springboot很贴心地提供了一个注解来实现监听。自定义事件return msg;@Slf4j@[email protected]("监听到 ContextRefreshedEvent...");log.info("监听到 MyEvent...");System.out.println("时间:" + myEvent.getTime() + " 信息:" + myEvent.getMsg());
2024-05-08 10:15:49 924
原创 spring常用注解(三)@ConditionalOnProperty
其中@ConditionalOnProperty是最为常见的一种,尤其用在自动配置类中。//name的别名,和value不可同时使用/**配置项的前缀,例如完整的配置是config.person.enable=true* 那 prefix=“config.person”*//**配置项的属性,例如完整的配置是config.person.enable=true在前面已经设置 prefix=“config.person”那么 name=“enable”;
2024-04-30 14:35:10 151
原创 spring常用注解(一)springbean类(3)自动装配
a.@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;b.@Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;c.@Resource注解是由JDK提供,而@Autowired是由Spring提供 @Resource的方式;(1)、@Resource后面没有任何内容,默认通过name属性去匹配bean,找不到再按type去匹配。默认按名称装配,当找不到与名称匹配的bean才会按类型装配。
2024-04-30 13:46:17 123
原创 spring常用注解(六)@Valid和@Validated校验
Valid注解可以作用于:方法、属性(包括枚举中的常量)、构造函数、方法的形参上。
2024-04-29 17:58:22 1157 1
原创 spring常用注解(五)lombok库
Lombok是一个作用于编辑器和构建工具的 Java 库,可以对编写的 Java 代码进行增强,比如说不用再写实体类的 getter 方法,equals 方法而是自动生成,自动生成日志输出变量等等,减少重复模板的代码。
2024-04-27 10:06:44 272 1
原创 Spring Security介绍(三)过滤器(2)自定义
Component@[email protected]("进入UrlFilter");@Component@[email protected]("进入UrlFilter-one");修改自定义的UrlFilter,修改为继承OncePerRequestFilter@Component@[email protected]("进入UrlFilter");
2024-04-27 09:42:10 410 2
原创 WebMvcConfigurer(一)介绍
WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer接口;在Spring Boot 1.5版本都是靠重写的方法来添加自定义拦截器,消息转换器等。
2024-04-27 08:50:33 421
原创 ------分割线之 WebSecurityConfigrerAdapter弃用问题------
被弃用的原因是 Spring Security 项目的维护者希望将项目的主要开发工作集中在新的配置方式上,即基于 Java 的配置(Java Configuration)和基于 Lambda 的表达式。这主要是因为 Spring 5.0 引入了重量级的 Java 配置支持,而。鉴于WebSecurityConfigrerAdapter的弃用,这个系列使用GlobalAuthenticationConfigurerAdapter。是基于 XML 的配置方式,并不完全兼容 Java 配置。
2024-04-26 15:27:43 233
原创 spring cache(二)集成
直接使用@CacheConfig、@Cacheable注解即可。(1)配置文件指定cache类型。(2)配置开启cache。
2024-04-25 17:11:01 235
原创 spring cache(一)介绍
项目中使用最多的缓存技术就是Redis,用Redis就可以实现了,为什么需要使用spring cache?先看下我们使用缓存步骤:(1)查寻缓存中是否存在数据,如果存在则直接返回结果(2)如果不存在则查询数据库,查询出结果后将结果存入缓存并返回结果(3)数据更新时,先更新数据库(4)然后更新缓存,或者直接删除缓存可以看到逻辑都差不多,这样就出现大量重复的代码,而且缓存与业务耦合较深。则解决了这个问题,它利用AOP。
2024-04-25 16:21:23 299 1
原创 Spring Security介绍(二) 主要组件(1) SecurityConfigurer
SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的内容中曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是通过 xxxConfigurer 来进行配置的,而这些xxxConfigurer 实际上都是 SecurityConfigurer 的实现。/***//***/
2024-04-24 17:57:07 431
原创 八(日志)
Java 有几种不同的日志框架,但 Log4j 2 和 Logback 是两个最常用的框架,它们具有稳定的性能和许多可用的附加器。 非结构化文本是自由格式的文本。它通常用于更深入的调试类型日志。调试和诊断需要非结构化日志记录,这些日志记录是人类可读的,并且易于查看。 审计需要良好的能力来查询大量现有的记录事件,并调用结构化日志记录,从而提供可以以可搜索格式解析和存储的数据。 应用程序性能监视服务通过提供有助于调查或确认攻击或其他应用程序问题的其他数据来支持日志记录解决方案。 会话标识符、任何连接字符
2024-04-20 10:39:29 86
原创 七(CSRF )
Spring Security 提供了内置的默认机制来对抗 CSRF。 重定向(返回带有新位置标头的 HTTP 30x 代码供浏览器跟踪)不仅仅是一个便利的功能,而且可能是非常危险的漏洞的来源——谨慎对待每个重定向,并在必须进行重定向时应用适当的防御措施。
2024-04-20 10:33:50 86
原创 (六)JWT安全
结构是 JSON,它是一个 JavaScript 对象表示法。它有各种部分,标头、有效负载和签名部分。这些都被打包起来,然后对 Base64 进行编码和签名,以便它是 URL 安全的。
2024-04-20 10:29:25 100
原创 (一)输入验证(语法和语义)
你无法控制进入应用程序的内容,甚至无法控制从数据库进入的内容,因为这些数据之前可能已经注入了。日期,如1900年 不是一个有效的日期,应确保在预期的范围内。因此,任何来自你控制的领域之外的东西,比如来自用户、数据库、外部应用程序、后端 API 等等,所以要假设一切都是错误的。包下有各种验证方法,不会抛出异常,如果数据无效返回Null。在不需要每次验证处理逻辑中都抛出异常时,这样可以带来一些性能改进。验证不通过抛出异常,如Integer.parseInt。
2024-04-20 09:41:57 192
原创 web sercurity综述
(4)检查解决方案失败时安全性是否失败。(5)评估所有数据并保护静态数据。(3)加密各方之间的所有通信。(2)量化所有身份验证和授权。(6)日志足以支持事件分析。(1)验证所有输入;
2024-04-20 09:20:33 185
原创 demo(四)nacos&gateway(2)gateway&springsercurity
nacos作为注册中心和集中配置管理,多个provider提供数据库服务,多个consumer通过feign调用provider,gateway作为网关,所有服务有一个统一的springsercurity鉴权。
2024-04-11 09:22:02 317
原创 demo(三)nacos&feign
service方法上需要加@RequestParam注解,且括号中一定要有值(参数的别名)和被调用方provider的参数名保持一致,被调用方可加@RequestParam也可不加;编写一个中间service,consumer调用service,service调用provider。被调用方provider加@RequestBody注解,调用方service的方法可加可不加;注意这里的value值不分大小写,my-service和MY-SERVICE都可以。post、get请求都可以。
2024-03-28 15:52:04 576
原创 springboot多模块
(1)new Project -> spring initializr快速构建SpringBoot,artifactId为springbootmodules,如我的叫nacos-test。(2)因为父模块只是为了组织子模块用,删除src等没用的文件,删除pom.xml中maven依赖等信息。父模块打包类型packaging从jar调整为pom;来快速创建好一个Maven工程。然后删除无关的文件,只需保留pom.xml 文件。
2024-03-27 15:27:24 380
原创 demo(二)nacos服务注册与集中配置
(1)springboot上加载数据源等信息大多数用bootstrap.yml。(2)使用application.properties也可以完成配置。
2024-03-25 13:52:34 479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人