一、基本概念
依赖注入: 在运行期,由外部容器动态的将依赖的对象注入到组件中(实例化所有的bean,然后按需注入到组件。)
控制反转:依赖对象的创建和管理(控制权)转移给了外部容器,这样可以很方便的通过容器的配置来管理对象。
容器:可以简单的想象为一个存放了一些单例的实例化对象(bean)的容器,你可以通过容器接口从容器里面拿你需要的对象实例。
二、Spring的主要特性
1. 降低组件之间的耦合度,实现软件各层之间的解耦。
2. 可以方便的使用容器提供的众多服务:事务管理服务、消息服务、JMS服务、持久化服务等等。
3. 容器提供单例模式。
4. 容器提供众多的辅助类,加速开发,如jdbcTemplate
三、容器对象的实例化过程
1. 实例化容器
在类路径(或文件路径)下寻找配置文件来实例化容器:ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
实例化容器后,在配置文件声明过的bean或标记为@autowired、@resource的类都会有实例化的单例存放在容器中。
2. 获取容器中的对象
有两种方法:一是通过容器上下文(ApplicationContext)的getBean方法显式的获取实例化对象;二是在应用类中(比如包含main方法的类)中,注解声明这个属性为自动装配。自动装配意味着不需要在配置文件中配置应用类的这个属性,而是自动的在调用应用类时,就去扫描容器,byType或byName找到容器中存放的单例,并赋给这个标注的属性。
分享到:
相关推荐
spring学习笔记
### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...
Spring学习笔记( spring视频笔记)
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
根据提供的压缩包文件名,我们可以推测这是一个逐步学习Spring的系列笔记。从"Spring_day1"开始,可能涵盖了Spring的基础概念、环境搭建和基本配置。"Spring_day2"可能涉及了依赖注入和AOP的深入讲解。"Spring_day3...
“Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...
"尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...
Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...
在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...
这份"Spring学习笔记"涵盖了Spring框架的基础到高级应用,对于想要深入理解并掌握Spring的开发者来说是一份宝贵的资料。 1. **Spring概述**:Spring是一个开源的Java平台,主要设计用于简化企业级应用开发。它提供...