
Spring
candyaaaaaaa
毕业两年多了,虽然两年之中断断续续在学习,但是回首一年以来,发现对于一些知识,忘了许多,知识不够系统、全面化,故开始写文,总结、记录所学,以便记忆更加深刻,便于回顾。
展开
-
Spring系列——延迟加载
Spring系列——延迟加载Spring容器创建之后,会调用它的refresh方法刷新Spring应用的上下文。首先整体查看AbstractApplicationContext#refresh源码@Overridepublic void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for原创 2020-11-15 14:42:47 · 710 阅读 · 0 评论 -
Spring系列——init-method、destory-method(Bean的生命周期)
Spring系列——init-method、destory-method(Bean的生命周期)前言@Bean的initMethod和destroyMethod实战前言在传统的xml配置注册Bean的时候,如果我们需要指定Bean的初始化和销毁方法则可以通过 <bean id="user" class="org.example.life.User" init-method="init" destroy-method="destroy"></bean>通过Bean标签的i原创 2020-10-24 12:10:47 · 677 阅读 · 0 评论 -
Spring系列——@Lazy懒加载
Lazy-bean懒加载前言@Lazy源码@Lazy实战前言在传统的xml模式得Spring中,我们注册一个Bean如果需要使用懒加载(表示该bean在容器初始化的时候不进行初始化)我们通过bean标签里面的lazy-init属性进行设置,在Spring3.0之后提供了@Lazy注解代替此方式。@Lazy源码@Target({ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.PARAMETER, El原创 2020-10-23 20:09:09 · 353 阅读 · 0 评论 -
Spring系列——@Scope作用域
Spring注解——@Scope前言源码实战前言了解过SpringXml形式开发的同学,一定都知道xml中的bean标签里面有个scope标签,他的作用就是来定义此Bean的创建模式。@Scope注解的功能和这个scope标签是一样的。一共四种创建模式:单例模式:每次创建都是同一个对象,Spring中只会帮我们创建一次多例模式:每次创建都是新创建一个对象。基于Request的创建模式:每次请求会帮我们创建一个新的对象基于Session的创建模式:每个Session,都会创建一个对象。(后端的原创 2020-10-23 13:30:51 · 938 阅读 · 1 评论 -
Spring系列——@ComponentScan
Spring注解之@ComponentScan前言二级目录三级目录前言大家都了解过传统的Xml配置方式的Spring,基本上都知道Xml配置中有<Context:compent-scan>标签,它的作用是开启包扫描,把标注了@Controller、@Service、@Repository、@Component注册进Spring容器中,而Spring注解之@ComponentScan的作用就是代理此功能。二级目录三级目录...原创 2020-10-21 21:40:42 · 248 阅读 · 0 评论 -
Spring系列——FactoryBean
Spring接口之FactoryBean前言FactoryBean接口源码FactoryBean实战前言FactoryBean接口源码/* * Copyright 2002-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the原创 2020-10-17 13:26:45 · 209 阅读 · 0 评论 -
Spring系列——@Import、ImportSelector接口
Spring注解之@Import前言@Import源码前言我们已经知道两种方式给Spring注册组件包扫描+注解的方式(@Controller、@Service、@Reposity、@Comment)使用@Configuration+@Bean的方式这两种的使用区别,第一种只能注册我们自己写的组件,而第二种可以注册jar包里面的组件接下来我来介绍第三种方式使用@Import来给Spring注册组件@Import源码@Target(ElementType.TYPE)@Retention(原创 2020-10-15 22:20:08 · 1124 阅读 · 1 评论 -
Spring系列——@Configuration+@Bean注册组件
Spring注解之Configuration+@Bean注册组件前言XML形式添加组件@Configuration+@Bean方式注入Bean前言在Spring3.0之前我们都是使用XML的方式来给Spring容器中添加组件的,使用过XMl给Spring容器添加组件的兄弟,大家都知道XML形式添加组件是多么繁琐,所以在Sping3.0之后,支持@Configuration+@Bean添加组件,而且在SpringBoot中基本上都是使用@Congfiguration+@Bean的模式来注册组件,所以我们需原创 2020-10-14 13:15:47 · 185 阅读 · 0 评论 -
Spring系列——@Conditional
Spring注解之@Conditional前言源码解析@Conditional工作流程@Conditaional实战前言Spring4推出了@Conditional注解,方便程序根据当前环境或者容器情况来动态注入bean,SpingBoot在@Conditional的基础上派生出许多注解,如@ConditionalOnMissingBean、@ConditionalOnExpression、@ConditionalOnClass等,这样使得我们动态注入Bean更加简洁方便,所以我觉得我们有必须来好好的学原创 2020-10-13 21:27:05 · 425 阅读 · 0 评论 -
Spring系列——@Profile
Spring注解@Profile前言代码案例前言在项目中,我们通常不同的环境下,我们的数据库、redis、zookeeper等信息需要不同的配置,@Profile就是用来解决这个问题的,@Profile就是通过不同的active来判断是否注册组件,在此记录一下@Profile如何使用.@Profile的使用方式标注在含有 @Configuration或@Comment的类上标注在含有@Bean的方法上设置active的两种方式编码设置设置vm参数代码案例实体类package原创 2020-10-12 20:12:03 · 309 阅读 · 0 评论 -
SpringMvc的运行流程
记录一下SpringMvc的运行流程1、DispatcherServlet拦截所有请求,进行分发2、通过URL到handlerMapping获取对应的执行链(包含对应控制器以及拦截器)3、然后通过执行链获取到对应的适配器4、然后使用适配器执行目标方法的拦截器、目标方法返回一个ModelAndView5、然后ModelAndView给ViewResolver渲染成View6、View渲染页面...原创 2020-05-16 22:08:21 · 172 阅读 · 0 评论 -
Spring事务机制
记录一下此时对于Spring事务机制的一些理解~~~介绍编程式事务管理:编程式事务管理使用TransactionTemplate可实现更细粒度的事务控制。 声明式事务管理:基于Spring AOP实现。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务,申明式事务管理不需要入侵代码,通过@Transactional就可以进行事务操作,更快捷而且简单(尤其是配合spring boot自动配置,可以说是精简至极!),且大部分业务..原创 2020-05-16 18:16:41 · 309 阅读 · 0 评论