Spring学习总结-Spring依赖关系

Posted huanshilang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring学习总结-Spring依赖关系相关的知识,希望对你有一定的参考价值。

参考资料:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-dependencies

1. Spring依赖关系注入基本方式

1.1 构造方法

官方文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-constructor-injection

1.2 Setter方法

官方文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-setter-injection

 

2. 使用@DependsOn注解

官方文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-dependson

DependsOn的作用是显示声明一个类依赖另一个类(可能这两个类并没有引用关系,只是需要前一个的类的一些信息,比如公共变量之类的)

注解使用方式:

@DependsOn(value = "UserDao")
public class UserServiceImpl implements UserService {

}

XML使用方式:

<bean id="beanOne" class="ExampleBean" depends-on="manager"/>
<bean id="manager" class="ManagerBean" />

 

3. Lazy-initialized(懒加载,也叫延迟初始化)

官方文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-lazy-init

懒加载,就是项目启动时不需要初始化的Lazy标注的类,等在需要调用时才初始化。(这种方式可以明显加快项目启动速度,但不能滥用,我一般用在测试用例里)

注解使用方式

@Lazy
public class UserServiceImpl implements UserService {

}

XML使用方式:

<bean id="lazy" class="com.something.ExpensiveToCreateBean" lazy-init="true"/>
<bean name="not.lazy" class="com.something.AnotherBean"/>

 

depends-on

以上是关于Spring学习总结-Spring依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

Spring学习总结-自动装配

Spring 基础知识学习

Spring学习总结二——SpringIOC容器二

Spring学习总结——Spring实现IoC的多种方式

Spring IoC容器总结(未完)

Spring学习:DI的配置