`
saviorzuo
  • 浏览: 19773 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring学习笔记

阅读更多
传统的对象创建及维护是由应用对象本身维护及创建。
public class PersonService {
		private PersonDao personDao=new PersonDaoImpl();
		public void save(Person person){
			personDao.save(person);
		}
}



那么所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责额。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转。

所谓依赖注入是指:在运行期,由外部容器动态地将依赖对象注入到组件中。

那么使用Spring有什么好处呢?
1.降低了组件之间的耦合度,实现各层之间的解耦。
2.可以使用容器提供的众多服务。
3.容器提供了单例模式的支持,不需要自己手写实现代码,提高了开发效率。
4.提供AOP,很容易实现如权限拦截,运行监控等功能。
5.提供了众多的辅助类,能够加快应用的开发,如jdbcTemplate,hibernateTemplate等。
6.对主流的应用框架进行了集成,如struts,hibernate等。

实例化Spring容器有2种方式:
1.在类路径下寻找配置文件来实例化容器
ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"spring.xml"});
2.在文件路径下寻找配置文件来实例化容器(不推荐使用)
ApplicationContext ctx=new FileSystemXmlApplcationContext(new String[]{"d:\\spring.xml"});

ps:Spring的配置文件可以指定多个,可以通过String数组传入

三种实例化bean的方法
1.使用类构造器实例化
<bean id="xxx" class="xxx">

2.使用静态工厂方法实例化
<!--factory-method工厂方法名 -->
<bean id="xxx" class="xxx" factory-method="method">

3.使用工厂方法实例化
<bean id="xxxFactory" class="xxxx"/>
<bean id="xxx" factory-bean="xxxFactory" factory-method=""/>

bean的作用域:
1.singleton
在IOC容器中bean只定义一个对象实例,默认情况下会在容器启动时初始化bean,但我们可以指定bean的lazy-init=true来延迟初始化bean,这时候,只有第一次获取bean才会被初始化。
如果想对所有bean都延迟初始化,可以在跟节点beans设置defaul-lazy-init="true",如果想在方法中打开某些特定的资源,可以配置init-method="init"方法,如果想在bean销毁之前关闭特定的资源destory-method="destory"
2.prototype
每次从bean都获取新的对象,第一次获取bean时才被初始化。
分享到:
评论

相关推荐

    Spring学习笔记 自我总结

    spring学习笔记

    Spring学习笔记(精华全记录)

    ### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...

    spring学习笔记

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...

    Spring学习笔记( spring视频笔记)

    Spring学习笔记( spring视频笔记)

    Spring学习笔记+学习源码.zip

    这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

    Spring学习笔记(马士兵spring视频笔记).doc

    Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc

    Spring学习笔记.zip

    根据提供的压缩包文件名,我们可以推测这是一个逐步学习Spring的系列笔记。从"Spring_day1"开始,可能涵盖了Spring的基础概念、环境搭建和基本配置。"Spring_day2"可能涉及了依赖注入和AOP的深入讲解。"Spring_day3...

    javaSpring学习笔记

    “Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...

    Spring学习笔记.doc

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...

    尚学堂Spring学习笔记

    "尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...

    SPRING学习笔记2

    Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...

    Spring 学习笔记 spring帮助文档

    在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...

    Spring学习笔记.rar

    这份"Spring学习笔记"涵盖了Spring框架的基础到高级应用,对于想要深入理解并掌握Spring的开发者来说是一份宝贵的资料。 1. **Spring概述**:Spring是一个开源的Java平台,主要设计用于简化企业级应用开发。它提供...

    马士兵spring学习笔记

    ### 马士兵Spring学习笔记知识点汇总 #### 一、面向接口编程(面向抽象编程) **概念:** 面向接口编程是指在设计系统时,尽量通过接口来定义各个组件之间的交互方式,而不是直接依赖于实现类。这种方式使得系统...

Global site tag (gtag.js) - Google Analytics