![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring技术栈
文章平均质量分 79
本分栏主要包括Spring以及SpringMVC等基本的spring技术栈
njitzyd
这个作者很懒,什么都没留下…
展开
-
Spring中BeanFactory FactoryBean和ObjectFactory的区别
BeanFactory和FactoryBean以及ObjectFactory原创 2023-01-15 16:48:02 · 656 阅读 · 0 评论 -
SpringBoot数据绑定
属性自动装配原创 2023-01-11 19:56:03 · 908 阅读 · 0 评论 -
Spring中的@Autowired和@Resource注解对比
这是自定义标题简介简单对比相同点不同点@Autowired注解@Resource注解代码实战验证@Autowired验证@Resource验证简介@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,但是Spring支持该注解的注入。本文代码已经上传至 gitee简单对比相同点都能进行依赖注入,可以加到属性上也可以加到setter方法上。不同点@Autowired注解原创 2022-04-17 23:24:45 · 361 阅读 · 0 评论 -
理解Spring容器、BeanFactory和ApplicationContext
理解Spring容器、BeanFactory和ApplicationContext转载 2021-11-22 21:33:45 · 100 阅读 · 0 评论 -
Spring 和 Spring MVC的关系
Spring框架中有很多概念,本文主要是区分一些容易混淆的概念,更方便的去理解和学习Spring框架。Spring和Spring MVC的关系SpringSpring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。简单点的话可以将SpringMVC类比于Struts。Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,spring mvc是其中一个开源项目,所以简单走个流程的话,htt原创 2021-11-21 21:19:03 · 1782 阅读 · 0 评论 -
Filter和Interceptor的对比
问题引入在开发过程中需要对某些接口进行鉴权,一开始的想法是写个Filter,然后拦截指定的路径,通过获取header中的信息进行鉴权,没有权限则抛出自定义异常,然后自定义全局异常处理器再去拦截。程序测试时发现,没权限时确实被拦截了,但是并没有进入到全局异常处理器,而是直接抛出500。通过查找发现,Filter的在进入Servlet之前进行拦截的,而全局异常是SpringBoot中的(本质是Servlet),所以全局异常处理并不能拦截到Filter抛出的异常。基本概念 与这个相关的一些概念如下:1、原创 2021-11-17 00:59:39 · 1033 阅读 · 0 评论 -
Java对象和Map互相转换-BeanMap
引入在开发的时候会遇到这种场景,把一个java对象转换成一个Map,转换的方法有很多比如下面:1、通过ObjectMapper先将bean转换为json,再将json转换为map,但是这种方法比较绕,且效率很低,经测试,循环转换10000个bean,就需要12秒!!!不推荐使用2、通过java反射,获取bean类的属性和值,再转换到map对应的键值对中,这种方法次之,但稍微有点麻烦3、通过Spring框架中的BeanMap类中的方法,比较方便。(本文介绍)代码案例有时候比如我们通过HttpCli原创 2021-11-14 00:09:08 · 1047 阅读 · 0 评论 -
Spring中@Async注解的使用
简介Spring中用@Async注解标记的方法,称为异步方法,它会在调用方的当前线程之外的独立的线程中执行,其实就相当于我们自己new Thread(()-> System.out.println("hello world !"))这样在另一个线程中去执行相应的业务逻辑。本篇先只讲@Async的使用,后面会分析它实现原理。 @Async注解使用条件:@Async注解一般用在类的方法上,如果用在类上,那么这个类所有的方法都是异步执行的;所使用的@Async注解方法的类对象应原创 2021-08-28 23:03:40 · 443 阅读 · 0 评论 -
Java中定时任务Timer、Spring Task、quartz详解
简介文章中代码案例已经同步到码云:代码中的schedule-demo中。定时任务是指调度程序在指定的时间或周期触发执行的任务使用场景:发送邮件、统计、状态修改、消息推送、活动开启、增量索引现有的定时任务技术Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。使用较少。(不推荐使用,代码案例中已经给出说明)Spring3.0以后自主开发的定时任务工具spring t原创 2021-01-17 18:06:12 · 525 阅读 · 0 评论 -
Spring 中数据校验 @Validated和@Valid 的区别
Spring 中数据校验 @Validated和@Valid 的区别Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。两者对比在检验Controller的入参是否符合规范时,使用@Validated或者@Valid在基本验证功能上没有太多区别。但是在分组、注解地方、嵌套验证原创 2021-01-16 17:56:05 · 233 阅读 · 0 评论 -
Spring Security 的学习与使用
Spring Security 的学习与使用本文的1.Spring Security 简介Spring Security本质是一个过滤器链,有很多过滤器2.SpringSecurity的过滤器加载过程使用SpringSecurity配置过滤器核心类:DelegatingFilterProxy首先进入DelegatingFilterProxy的doFilter()方法中然后在这个方法中有这样一个delegateToUse = initDelegate(wac);跟进去这个方法,可以看到这原创 2021-01-16 17:50:10 · 125 阅读 · 0 评论 -
Apache HttpClient 使用教程 以及 Spring 的 RestTemplate
Apache HttpClient 使用教程 以及 Spring 的 RestTemplate本文源代码已经收录在我的码云上面的HttpClientDemo 的模块,大家可以参考 ,地址https://gitee.com/njitzyd/JavaDemoCollectionHttpClient简介HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本。我们可以通过HttpCli原创 2021-01-11 23:47:01 · 350 阅读 · 0 评论 -
Spring中定时任务@Schedule注解的使用
1.概述@Scheduled注解是spring boot提供的用于定时任务控制的注解,主要用于控制任务在某个指定时间执行,或者每隔一段时间执行.注意需要配合@EnableScheduling使用,配置@Scheduled主要有三种配置执行时间的方式,cron,fixedRate,fixedDelay。它的配置一共有8个参数。(在被spring初始化之后,这个定时任务就开始执行了,下面几种cron、fixedDelay、fixedRate等注解都是这样。)2.参数讲解2.1 cron表达式该参数接收原创 2021-01-11 21:11:53 · 4845 阅读 · 0 评论 -
Spring Data JDBC 的初识与学习
在看官网的时候突然发现Spring Data系列下还有一个 Spring Data JDBC 。平时使用的比较多的是Spring Data JPA 。其实他俩还是比较相似的,只是Spring Data JDBC 更加专一,没有延迟加载或者缓存等东西,就是纯粹的操作数据。具体的使用可以参考这篇文章:Spring Data JDBC 入门...原创 2020-09-30 16:40:39 · 724 阅读 · 0 评论 -
Spring 中的事务看这一篇就够了!
Spring 中的事务事务简介事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功,事务有四个基本属性ACID.原子性(Atomicity): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。一致性(Consistency): 事务开始前和结束后,数据库的完整性约束没有被破坏。比如A向B转账,不可原创 2020-08-15 15:22:29 · 323 阅读 · 0 评论 -
Spring 是如何保证线程安全的
Spring 的常见业务组件采取单例如何保证线程安全Spring 作为 IOC 框架,一般来说,Spring 管理的 controller、service、dao 都是单例存在,节省内存和 cpu、提高单机资源利用率(默认单例,配置多例模式使用 scope=prototype),既然是单例,那么如何控制单例被多个线程同时访问线程安全呢?首先要理解每个 http 请求到后台都是一个单独的线程,线程之间共享同一个进程的内存、io、cpu 等资源,但线程栈是线程独有,线程之间不共享栈资源其次,bea原创 2020-06-16 22:35:39 · 626 阅读 · 0 评论 -
Mybatis-Plus教程
MybatisPlus 特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作, BaseMapper强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分CRUD 操作,更有强大的条件构造器,满足各类使用需求, 以后简单的CRUD操作,它不用自己编写了!支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错.原创 2020-05-26 18:15:59 · 452 阅读 · 0 评论