Spring学习总结(5)-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

原文地址:https://www.cnblogs.com/huanshilang/p/11745644.html

时间: 2024-07-28 22:17:02

Spring学习总结(5)-Spring依赖关系的相关文章

Spring学习,初识Spring

Spring概述 将Spring理解为管理对象间依赖关系的容器 "解耦" 根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类 ```Spring 是为了解决企业级开发的复杂度问题1.主业务逻辑 保险业务 银行业务 2.系统级业务逻辑,交叉业务逻辑 jdbc连接数据库 ``` 特点 轻量 针对接口编程解耦合 AOP编程的支持 方便集成各种优秀框架 spring框架结构) 优点: ` 1.低侵入式设计,代码污染极低 2.独立于各种应用服务器,基于Spring框

Spring学习1:Spring基本特性

http://longliqiang88.github.io/2015/08/14/Spring%E5%AD%A6%E4%B9%A01%EF%BC%9ASpring%E5%9F%BA%E6%9C%AC%E7%89%B9%E6%80%A7/ Spring学习1:Spring基本特性 Spring基本特征 Spring基本特征Spring是一个非常活跃的开源框架:它是一个基于Core来构架多层JavaEE系统的框架,它的主要目地是简化企业开发.Spring以一种非侵入式的方式来管理你的代码,Spri

spring学习(二)---依赖注入

spring第二个特性是依赖注入. 学习依赖注入,首先应该明白两个问题:1,谁依赖谁:2,谁注入,注入什么? 首先还是看代码: 还是这个bean: package testSpring.business.bean; import org.springframework.stereotype.Repository; import testSpring.business.iface.IPrint; /** * UserBean : * @author xuejupo [email protected

Java Spring学习笔记----Bean的依赖注入(1)

Spring常用的两种依赖注入方式:一种是设值注入方式,利用Bean的setter方法设置Bean的属性值:另一种是构造注入,通过给Bean的构造方法传递参数来实现Bean的属性赋值: 1.设值注入方式 直接上代码例子,示例的树结构图如下 Shape.java接口内容 package chapter3; public interface Shape { public double area();//求形状的面积 } Circle.java内容: package chapter3; public

spring学习笔记(一) Spring概述

博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书.  强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring的优势在哪里?怎么系统的学习Spring? 一.什么是Spring? Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发. 那有人就会问了,Spring是如何简化开发的? 在传统开发中,一个应用是需

Spring学习1-初识Spring

一.简介   1.Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发.  2.为何要使用Spring?    i:降低组件之间的耦合度,实现软件各层之间的解耦.    ii:可以使用容器提供的众多服务,如:事务管理服务.消息服务等等.当我们使用容器管理事务时,开发人员就不再需要手工控制事务.也不需处理复杂的事务传播. i3:容器提供单例模式支持,开发人员不再需要自己编写实现代码. i4:容器提供了AOP

Spring学习(五)--构建Spring Web应用程序

一.Spring MVC起步 看过猫和老鼠的小伙伴都可以想象Tom猫所制作的捕鼠器:它的目标 是发送一个小钢球,让它经过一系列稀奇古怪的装置,最后触发捕鼠 器.小钢球穿过各种复杂的配件,从一个斜坡上滚下来,被跷跷板弹起,绕过一个微型摩天轮,然后被橡胶靴从桶中踢出去.经过这些后,小钢球会对那只可怜又无辜的老鼠进行捕获.而Spring MVC框架与捕鼠器有些类似.Spring将请求在调度Servlet.处理器映射(handler mapping).控制器以及视图解析器(view resolver)之

Spring学习笔记——关于Spring注解扫描不能注入new对象问题

这几天Leader让我用工厂模式对部分业务逻辑代码进行重构,过程是痛苦的(这里就不详细说了),结果很甜蜜.下面记录一下我在重构过程中遇到一个问题. 部分代码如下: @service(orderFactory) public class OrderFactory implements IOrderFactory{ public OrderCreate factory(String type){ if(type != null && type.indexOf("1")! =

Makefile学习7————自动生成依赖关系 三颗星

后面会介绍gcc获得源文件依赖的方法,gcc这个功能就是为make而存在的.我们采用gcc的-MM选项结合sed命令.使用sed进行替换的目的是为了在目标名前加上"objs/"前缀.gcc的-E选项,预处理.在生成依赖关系时,其实并不需要gcc编译源文件,只要预处理就可以获得依赖关系了.通过-E选项,可以避免生成依赖关系时gcc发出警告,以及提高依赖关系的生成效率. 现在,已经找到自动生成依赖关系的方法了,那么如何将其整合到我们complicated项目的Makefile中呢?自动生成