springboot鉴权
发表于|更新于|spring
|总字数:14|阅读时长:1分钟|浏览量:25
TODO:暂时留个坑,待整理好思路再写
文章作者: 张晓风
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 张晓风的博客!
相关推荐
2024-09-06
Spring 中用到的设计模式
一、工厂设计模式Spring 使用工厂模式可以通过 BeanFactory 或 ApplicationContext 创建 bean 对象。 两者对比: BeanFactory:延迟注入(使用到某个 bean 的时候才会注入),相比于ApplicationContext 来说会占用更少的内存,程序启动速度更快。 ApplicationContext:容器启动的时候,不管你用没用到,一次性创建所有 bean 。BeanFactory 仅提供了最基本的依赖注入支持,ApplicationContext 扩展了 BeanFactory ,除了有BeanFactory的功能还有额外更多功能,所以一般开发人员使用ApplicationContext会更多。 ApplicationContext 的三个实现类: ClassPathXmlApplication:把上下文文件当成类路径资源。 FileSystemXmlApplication:从文件系统中的 XML 文件载入上下文定义信息。 XmlWebApplicationContext:从 Web 系统中的 XML...
2024-09-01
Spring 事务详解
一、什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务能否生效,数据库引擎是否支持事务是关键。比如常用的 MySQL 数据库默认使用支持事务的 innodb 引擎。但是,如果把数据库引擎变为 myIsam,那么程序也就不再支持事务了。 事务的特性(ACID)1.原子性(Atomicity):事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用。2.一致性(Consistency):执行事务前后,数据保持一致。例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的。3.隔离性(Isolation):并发访问数据库时,一个用户的事务不被其他事务所打扰,各并发事务之间数据库是独立的。4.持久性(Durability):一个事务被提交之后,它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。 只有保证了事务的持久性、原子性、隔离性之后,一致性才能得到保障。也就是说A、I、D是手段,C是目的! MySQL...
2024-05-11
自定义校验注解
一、背景近期在用 javax.validation 做校验的时候发现没有对 BigDecimal 类型进行校验的注解,便自己动手写了一个。 二、定义注解及校验类2.1 注解类123456789101112131415@Documented@Constraint(validatedBy = BigDecimalRangeValidator.class)@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface BigDecimalRange { double min() default Double.MIN_VALUE; double max() default Double.MAX_VALUE; String message() default "Validation failed"; Class<?>[] groups() default {}; Class<? extends...
2024-09-02
SpringBoot 自动装配原理详解
每次问到 Spring Boot, 面试官非常喜欢问这个问题:“讲述一下 SpringBoot 自动装配原理?”。 我觉得我们可以从以下几个方面回答: 什么是 SpringBoot 自动装配? SpringBoot 是如何实现自动装配的?如何实现按需加载? 如何实现一个 Starter? 一、什么是 SpringBoot 自动装配?我们现在提到自动装配的时候,一般会和 Spring Boot 联系在一起。但是,实际上 Spring Framework 早就实现了这个功能。Spring Boot 只是在其基础上,通过 SPI 的方式,做了进一步优化。 SpringBoot 定义了一套接口规范,这套规范规定:SpringBoot 在启动时会扫描外部引用 jar 包中的META-INF/spring.factories文件,将文件中配置的类型信息加载到 Spring 容器(此处涉及到 JVM 类加载机制与 Spring 的容器知识),并执行类中定义的各种操作。对于外部 jar 来说,只需要按照 SpringBoot 定义的标准,就能将自己的功能装置进 SpringBoot。自...
2024-05-30
smart-doc使用注释生成接口文档
一、写在前面程序员最讨厌的事情就是写文档,尤其是接口文档。之前也用过swagger,但是感觉每个类、方法、字段都要加注解,实在是太麻烦了,最近发现smart-doc很好的解决了这个问题,因为它是无侵入式的,只要正常写Java注释,它就能帮你生成各种格式的接口文档。官方文档地址:https://smart-doc-group.github.io/#/zh-cn/ 二、maven插件配置12345678910111213141516<plugin> <groupId>com.github.shalousun</groupId> <artifactId>smart-doc-maven-plugin</artifactId> <version>2.6.0</version> <executions> <execution> <phase>compile</phase> ...
2024-02-23
spring boot logback日志显示时间差8小时
一、问题logback日志的时间和系统时间对不上,总是差几个小时,设置了项目时区没有用,项目里 new Date() 的时间没问题。 二、原因同一个项目部署在两台机器上,之前那台时间是正常的,这台时间不正常,暂时没找到具体原因。 三、解决方法改一下logback的配置文件 pattern 的时间格式 修改前1<property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS} %thread [%level] %m%n"/> 修改后1<property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS,CTT} %thread [%level] %m%n"/> 在yyyy-MM-dd HH:mm:ss.SSS后面加一个指定的时区,用逗号分隔开。如yyyy-MM-dd HH:mm:ss.SSS,CTT。CTT为上海时间。改完后确实可以了。
评论