![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
一只叫狗的猫
空中楼阁
展开
-
spring Aware接口
spring aware 的目的是为了让bean获取spring容器的服务。 常见的aware接口有: BeanNameAware :可以获取容器中bean的名称 BeanFactoryAware:获取当前bean factory这也可以调用容器的服务 ApplicationContextAware: 当前的applicationContext, 这也可以调用容器的服务 MessageS...原创 2020-03-19 23:16:19 · 121 阅读 · 0 评论 -
BeanPostProcessor分析
如果我们想在Spring容器中完成bean实例化、配置以及其他初始化方法前后要添加一些自己逻辑处理。我们需要定义一个或多个BeanPostProcessor接口实现类,然后注册到Spring IoC容器中。 @Component public class MyBeanPostProcessor implements BeanPostProcessor{ @Override public O...原创 2020-03-19 22:59:22 · 104 阅读 · 0 评论 -
Spring跨域
同一个ip、同一个网络协议、同一个端口,三者都满足就是同一个域,否则就是跨域 解决办法 jsonp spring4增加了jsonp的支持,只需要ControllerAdvice就可以开启。 Controller正常编写,只要在相应的包下。 前台必须用jsonp方式提交 CORS 使用注解CrossO...原创 2020-02-26 11:39:08 · 158 阅读 · 0 评论 -
Spring IOC
控制反转(依赖注入)(IOC) 传统模式下,java对象调用另一个对象时候,主要有主动创建被依赖对象;找到被依赖对象的工厂,主动通过工厂获取(简单工厂模式)。 使用spring之后,调用者不需要再主动获取,只需要被动接收Spring为调用者的成员变量赋值即可,由此可见,由原来的主动获取变成了被动接收,所以叫控制反转。从Spring容器来看,Spring容器负责将依赖对...原创 2020-02-26 11:32:18 · 113 阅读 · 0 评论 -
Spring AOP
先写一个例子 目标类 @Component public class Calcutor { public int div(int i, int j) { System.out.println("目标方法开始运行"); return i/j; } } 切面类 /** * @Description: 日志切面类 * 日志切面类可以动态感...原创 2020-02-26 17:23:00 · 210 阅读 · 0 评论 -
Spring基本组件使用
Value 读取配置文件中的值。@Vaule赋值, 1 基本字符 。2 支持EL表达式。 3 读取配置文件 @Value("张三") private String name; @Value("#{20 - 3}") private String age; @Value("${bird.color}") private String co...原创 2020-02-25 18:52:46 · 188 阅读 · 0 评论 -
Spring面试题
IOC初始化流程 初始化BeanFactory、标签国际化、注册监听器等 去容器中获取bean实例,如果没有就进行创建 创健bean实例、对bean进行属性赋值 在初始化bean前后执行后置处理器 将bean放入ioc容器 执行下发通知 SpringBoot启动机制 首先得益于maven的父集成,使得SpringBoot能够引入第三方依赖 有个核心的注解是@SpringBootApplicati...原创 2020-02-26 11:37:18 · 288 阅读 · 1 评论 -
事务
Spring事物传播级别 1)PROPAGATION_REQUIRED:支持当前事务,没有事务就新建一个。 2)PROPAGATION_SUPPORTS:支持当前事务,如果没有事务,以非事务方式处理 3)PROPAGATION_MANDATORY:支持当前事务,没有事务就抛异常 4)PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把...原创 2020-02-16 17:38:51 · 187 阅读 · 0 评论 -
controller参数校验
使用javax.validation去校验参数,可以避免过多的if判断。 对需要校验的入参类添加注解 public class TestVO { /*** 用户ID*/ @NotNull(message = "用户id不能为空") private Long userId; /** 用户名*/ @NotBlank(message = "用户名不能...原创 2019-11-14 13:26:58 · 2060 阅读 · 0 评论 -
全局捕获异常
建自己的异常类 public class BusinessRuntimeException extends RuntimeException { private static final long serialVersionUID = 1L; public BusinessRuntimeException(String msg, Throwable cause) { super(msg...原创 2019-11-14 11:20:36 · 216 阅读 · 0 评论