
spring
文章平均质量分 76
键盘歌唱家
是金子总会发光
展开
-
Spring循环依赖大全
spring循环依赖分析原创 2023-09-23 21:13:03 · 246 阅读 · 0 评论 -
手写mybatis-spring
一、知识回顾spring整合Mybatis需要导入以下的依赖:原创 2022-04-28 17:09:29 · 1003 阅读 · 0 评论 -
Spring的循环依赖问题
一、Spring的执行流程二、循环依赖问题1.循环依赖问题产生的原因如下图所示(简单来说就是A类的构造函数需要B对象,而B类的构造函数需要A对象)2.Spring解决循环依赖的办法使用默认的singleton单例模式+set注入+三级缓存Spring源码中三级缓存的代码:bean的初始化流程细节如下,红色代表的是最后销毁的对象:1.三级缓存解决循环依赖问题的关键是什么?为什么通过提前暴露对象能解决?实例化和初始化分开操作,在中间过程中给其他对象赋值的时候,并不是一个完整的对象,而原创 2022-04-26 18:40:28 · 641 阅读 · 0 评论 -
Spring框架中的单例Bean是线程安全的吗?
首先直接给出答案:不是线程安全的一、分析问题证明不是线程安全的案例如下:public class Student { private String stuName; public String report(String uname){ stuName = "大家好,我叫:"+uname; try { Thread.sleep(100); } catch (InterruptedException e) {原创 2021-11-01 19:30:27 · 3365 阅读 · 0 评论 -
Spring条件注解以及环境切换问题
我先简单的说一下为什么我要将这两个知识点放一起:因为他们都涉及到了jvm参数问题。一、条件注解的实现方法@Conditional如下的IOC容器:由于@Bean注解后没有加东西,所以下面的两个bean的id都为car,究竟得到哪个bean就取决于@Conditional注解括号里的东西!@Configurationpublic class MyConfig { @Bean @Conditional(OilCarCondition.class) public Car oilCa原创 2020-08-22 16:35:42 · 344 阅读 · 0 评论 -
Spring三层注解加扫描器的使用
三层注解有以下4类:注解描述@Service用于service@Repository用于dao层@Controller用于控制器层@Component以上的三种都可以用该注解代替使用时只需要在对应的类前面加上注解,再配置扫描器即可:@Service //@Repository//@Controller//@Componentpublic class W{ ...}现在讲述怎么配置扫描器:xml形式:只需要在context:compon原创 2020-08-22 16:35:28 · 269 阅读 · 0 评论 -
Spring框架下bean的作用域以及懒加载
下面是Spring的所有作用域:用的比较多的就是singleton以及prototype这两种!本文也以这两种举例子。1.单例模式spring默认开启的是singleton(单例模式):容器在初始化时,就会创建对象(唯一的一个);以后再getBean时,不再产生新的bean。当程序遇到了下面的两种类型的代码,就会将IOC容器中的所有的bean实例化,这样就会导致一个问题:容器中有很多bean,结果实际用到的bean只有几个,这样全部实例化就相当于浪费了一部分性能—>解决方法请看后面的懒加载。原创 2020-08-22 16:33:50 · 234 阅读 · 0 评论 -
Spring框架下AOP事务的四种通知
spring最重要的六种基本jar:commons-logging.jarspring-expression.jarspring-core.jarspring-context.jarspring-beans.jarspring-aop.jar本文还需两个jar:aopaliance.jar和aspectjweaver.jar!如果本文的代码运行不...原创 2020-08-22 16:33:36 · 805 阅读 · 0 评论 -
Spring的IOC注入(入门介绍)
虽然说Spring是轻量级框架,但知识点也蛮多的,本文简单的说明一下spring的基础用法原创 2020-08-22 16:32:32 · 245 阅读 · 0 评论 -
Spring的注解注入
对于Bean对象的注入1.可以采用手写方式(在IOC中取id,标明class,给类中的属性挨个赋值)写入IOC容器。可以参考这篇博客2.也可以采用三层注解加扫描器的方式注入。对于Bean中的属性值1.可以在将对象纳入IOC容器时,直接手写可以参考这篇博客2.采用注解方式自动注入,下面就正式进入本文的正片了 一、@Autowired + [@Qualifier]注解方式@Autowired (Spring) ,默认根据类型,配合@Qualifier即可根据id注入。下面是@Autowired可原创 2020-08-22 16:32:17 · 323 阅读 · 0 评论 -
Spring监听器
Spring的监听器:可以监听事件 ,监听的对象必须是 ApplicationEvent自身或其子类/子接口! 比如context的关闭和刷新!不多bb,直接讲述实现步骤:方式一:必须实现ApplicationListener接口package luzelong.listener;import org.springframework.context.ApplicationEvent;import org.springframework.context.ApplicationListener;i原创 2020-08-22 16:31:39 · 439 阅读 · 0 评论 -
Spring框架下Bean的初始,销毁
Bean的生命周期Bean的生命周期:创建(new …)、初始化(赋初值)、 …、销毁本文讲解的是Bean的初始化和销毁方法,类似于serverlet !方法1:直接在对应的实体类中写初始化,销毁方法,然后IOC容器中指定。package entity;public class Student {...... public void myInit(){ System.out.println("init......"); } public void my原创 2020-08-22 16:10:45 · 153 阅读 · 0 评论 -
Spring数据校验和格式化
一、格式化1.配置xml<!-- 配置 数据格式化 注解 所依赖的bean --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> </bean>学生类:属性上加格式化注解package entity;import org.springframework.format.annota原创 2020-08-22 16:09:52 · 197 阅读 · 0 评论