`

Sping入门

    博客分类:
  • java
 
阅读更多

极客学院的视频超好.

 

1.spring框架的作用:降低企业应用开发复杂性

传统开发模式:

 

spring的开发模式:



 

2.spring降低程序复杂性的方法:降低类之间的耦合性

ioc容器就像一个中介一样,ioc统一创建类的实例化对象,需要用到的时候,直接向ioc调用即可.

 

3.spring是一个轻量级控制反转(ioc)和面向切面(aop)的容器框架


4.ioc是spring的核心,ioc对于spring来说,就是由spring来负责控制对象生命周期和对象间的关系

传统开发模式:对象之间互相依赖,比如你在开发一个界面,你需要用到文本框对象,那么你需要new一个文本框对象,或者从jndi中查询一个,使用完对象后还要销毁

 

进入ioc模式之后,对象之间的依赖关系由ioc来管理,ioc实现的原理有点像中介,你只需要告诉ioc我需要一个什么样的对象,那么ioc就给你一个什么样的对象,如果给的对象不符合要求,那么就抛异常

以前是被调用的对象由调用对象来控制它的生命周期,现在所有对象都由ioc来控制,这就叫控制反转

 

依赖注入和控制反转是从不同角度描述同一件事情,依赖注入就是在类的运行期间,将类需要的某种依赖关系动态的注入到类中

依赖注入这种原理,不仅仅可以用在软件行业,也可以用在日常生活中


5.aop
aop的基本概念: 面向切面的编程,新颖的设计思想
aop与oop的关系:aop是对oop面向编程的一种补充,oop是从静态角度考虑程序  aop是从动态角度考虑程序运行过程
aop主要功能:主要是系统级别的功能,比如日志处理,异常处理,事务处理
aop主要意图:将日志,事务,安全控制,支持等东西与具体的业务逻辑分离出来

举例: 一个大型的应用系统,很多模块,
      每个模块都负责一个核心业务,每个模块又都需要日志组件,异常管理组件的支持。而且业务模块插入了与业务自身无关的组件,很麻烦,因此aop目的是将这些需要公用的组件分离出去
  
实现原理:aop代理目标对象的全部方法,然后对其增强. 一般业务组件只要找好切入点,然后调用aop代理就行了

 

6.注入方法有3种
构造函数注入
属性注入
接口注入

 

7.spring通过xml配置文件,来描述类与类之间的依赖关系,然后自动完成类的初始化和销毁

  spring的ioc原理就是利用反射机制实现的
 
8.JDK并不能很好的访问底层资源,所以spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力

 

9.BeanFactory是spring框架最核心的接口,它提供高级ioc的配置机制,ApplicationContext建立在BeanFactory基础之上,提供了更多面向应用的功能,它提供了国际化支持和框架事件体系

 

10.spring配置文件就是指导spring工厂进行bean的生产,依赖关系注入以及bean实例分发的"图纸",它是一个或者多个的xml文档

 

11.启动spring基本条件
  11.1spring的框架包
  11.2bean的配置信息
  11.3bean的实现类
 
 
12.spring理解了,就是spring 里面有个beanFactory(专门用来创建类的实例,然后放到bean缓存池里面),创建了类之后,程序需要的话就向bean缓存池要

比如要用Hello这个类,就用BeanFactory beanFactory=new ClassPathXmlApplicationContext("xxxx")
                      Hello  a=beanFactory.getBean("xxx")  (不同配置,有不同获取方法)
      
13.bean id的命名方式  作用:你要从beanFactory中注入要用到的类,那么你必须有一个东西唯一标识它,不然你怎么找到它呢?
  所以配置文件就是干的这个工作,用一个东西唯一标识它
 
14.spring如何实例化bean?(简单) (意思就是你如何让spring 帮你产生类的实例化对象
   利用反射机制实例化bean
  
   构造器实例化bean是最简单的方式
   静态工厂
   实例工厂
  
   3种方式配置不一样,但是使用他们的方法是一样的
 
15.scope
在面向对象的编程中指变量的作用范围,在spring中指的是一个bean对象对其他bean对象的请求可见范围

bean的5种预定义作用域,以及如何在spring中自定义作用域

singleton:请求都只会返回唯一的bean,传统的模式,要为每一个单独实例编写代码,spring以容器的功能直接提供单实例,很方便
           应用:应为spring有面向切向的特点,所以DAO这些类都可以做成单实例模式
    
     spring因为localThread和面向切向,使得非线程安全的类可以变成线程安全的类
    
     spring默认作用域是singleton,因为spring的强大功能,好多类都可以做成线程安全的类,所以大部分作用域都是singleton

 

prototype:每次请求都创建一个新的bean对象,所以spring初始化是不会实例化prototype这种bean的

request跟http请求对应,http中的request没了,作用域为request的bean也会被销毁
session 跟http请求对应,http中的session没了,作用域为session的bean也会被销毁

 

16.spring 配置文件的管理

在大型项目中,spring的配置文件都是分开管理的,然后再通过一个xml文件整合所有的其他xml配置文件

举例
Spring-All-Module.xml
<beans>
<import  resource="common/Spring-Common">
<import  resource=...>
<import  resource=...>

<beans>

整合后的加载方式
Application context=new ClassPathXmlApplicationContext("Spring-All-Module.xml");
 

17.用通俗的话来说spring的一般原理如下:

     17.1先在xml中配置好需要用到的类

     17.2启动spring,spring在beanFactory中创建类的对象,相当于我们new 了一个对象

     17.3要用到对象的时候就向beanFactory要,步骤如下

          先new一个BeanFactory

BeanFactory beanFactory = new ClassPathXmlApplicationContext("conf/conf-scope.xml");

        然后我要Boss类的一个对象,直接向beanFactory要

 

Boss boss1 = beanFactory.getBean("boss1", Boss.class);

 

  • 大小: 30.7 KB
  • 大小: 31.1 KB
分享到:
评论

相关推荐

    一本很不错的关于spring入门的书籍

    这本书籍“一本很不错的关于spring入门的书籍”显然是针对初学者设计的,旨在帮助新手快速掌握Spring的基本概念和核心功能。 Spring框架的核心特性包括: 1. **依赖注入(Dependency Injection,简称DI)**:这是...

    spring入门代码项目

    《Spring入门代码项目详解》 在IT行业中,Spring框架无疑是最受欢迎的Java企业级应用开发框架之一。本项目旨在帮助初学者快速入门Spring,通过实际的代码操作来理解和掌握Spring的核心概念与用法。以下是对每个子...

    spring入门经典+源代码

    spring入门经典+源代码.Spring入门经典 一书全面透彻地介绍Spring Framework;Spring Framework是Java开发领域最流行的框架,是事实上的企业级应用开发标准。本书浓墨重彩地描述实际的企业级解决方案,每一章都提供了...

    Spring入门教程.rar

    Spring框架是Java开发中...本教程的文档《Spring入门教程.doc》将深入讲解这些概念,并提供实例代码和步骤说明,帮助你从零开始学习Spring,逐步成长为一名熟练的Spring开发者。请打开文档,开始你的Spring学习之旅吧!

    《Spring入门经典》源代码

    《Spring入门经典》是一本由Mert Caliskan和Kenan Sevindik共同撰写的书籍,主要面向希望深入理解并掌握Spring框架的初学者。Spring是Java领域中最为广泛使用的开源框架,它提供了一个全面的编程和配置模型,旨在...

    spring入门经典源代码

    本资源"Spring入门经典源代码"旨在帮助初学者快速理解并掌握Spring框架的核心概念和使用方法。这本书籍结合了丰富的示例代码,使得理论与实践相结合,使学习过程更加直观和高效。 1. **Spring概述** Spring是一个...

    spring入门介绍PPT.rar

    Spring框架是中国Java开发领域中最广泛使用的轻量级框架之一,它以其依赖注入...这份"spring入门介绍PPT"将是你深入理解Spring的宝贵资源,通过它,你可以逐步掌握Spring的核心理念和技术,开启你的Spring开发之旅。

    spring入门经典-附源代码

    《Spring入门经典》是一本专为初学者和有一定基础的开发者设计的教程,它通过附带的源代码帮助读者深入理解并快速掌握Spring框架。Spring是Java开发领域中最为广泛应用的轻量级框架,它的核心特性包括依赖注入、面向...

    spring入门相关jar包

    spring入门相关jar包,相关jar包为: commons-logging-1.2.jar spring-beans-5.2.6.RELEASE.jar spring-context-5.2.6.RELEASE.jar spring-core-5.2.6.RELEASE.jar spring-expression-5.2.6.RELEASE.jar

    spring入门经典源码第二章

    《Spring入门经典》第二章主要围绕Spring Framework的基础知识展开,旨在为初学者提供一个全面而深入的Spring学习路径。Spring Framework作为Java开发的核心框架,它以其模块化、易用性和强大的功能深受开发者喜爱,...

    Spring入门教学(解决方案)Spring入门教学(解决方案)Spring入门教学(解决方案)

    Spring入门教学(解决方案)Spring入门教学(解决方案)Spring入门教学(解决方案)Spring入门教学(解决方案)Spring入门教学(解决方案)Spring入门教学(解决方案)Spring入门教学(解决方案)Spring入门教学(解决方案)Spring...

    《Spring入门经典》书中示例代码

    《Spring入门经典》是一本深度剖析Spring框架的入门书籍,旨在帮助初学者快速掌握Spring的核心概念和使用方法。书中的示例代码是理论知识的实践体现,通过这些代码,读者可以直观地理解Spring如何工作,如何配置,...

    Spring入门级教程.pptx

    Spring入门级教程,从零开始教你认识Spring,了解Spring,理解Spring的两大核心IoC和AOP,教你如何使用Spring进行开发

    Spring入门

    Spring入门,关于Spring的详细解释以及spring的工作原理!

    Spring入门经典

    Spring入门经典 一书全面透彻地介绍Spring Framework;Spring Framework是Java开发领域最流行的框架,是事实上的企业级应用开发标准。本书浓墨重彩地描述实际的企业级解决方案,每一章都提供了通俗易懂的示例和动手...

    Spring入门书籍

    《Spring入门书籍》是一本专为初学者设计的Spring框架学习指南。这本书旨在帮助读者从零开始,逐步掌握Spring框架的基础知识和核心概念,从而在实际项目开发中得心应手。Spring作为Java企业级应用的主流框架,其强大...

    spring 入门基础

    《Spring入门基础详解》 Spring框架作为Java领域中极为重要的轻量级容器,以其强大的功能和易用性深受开发者喜爱。本教程将带你逐步走进Spring的世界,了解其核心概念,并教你如何在Eclipse环境中搭建Spring开发...

    Spring入门案例

    首先,我们来解析一下标题"Spring入门案例"。这表明我们将学习的是Spring的基本概念和基础应用,包括如何搭建Spring项目环境,配置Spring容器,以及如何使用Spring管理Bean。Spring框架的核心是IoC(Inversion of ...

Global site tag (gtag.js) - Google Analytics