Spring框架基础概念(非常基础,大纲,都能看懂)

1. Spring 的IOC容器思想

2.什么是Spring

3. Spring优点

4. Spring三大模块介绍

5. spring的两种IOC容器介绍和区别


(本文非常适合新手浅看,或者刚接触学习的,基本上都能看懂,有个大概认知

最好是在初步使用过 最简单基础的 IOC和AOP案例时,就100%能看懂)


------Spring中的 IOC容器

IOC的思想是    
控制反转
             所谓IOC是指 实例(对象) 不在由调用者来创建而是由Spring容器创建,Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制
             这样控制权由应用代码转移到了外部容器,控制权发生了反转, 所以称为 控制反转思想


------什么是 Spring?

                是 分层 的 轻量级开源框架 ,以 IOC(控制反转)AOP(面向切面编程)内核 

通常服务器端采用三层体系架构: 
表示层                (web) 
业务逻辑层        (service)
持久层                (dao)

spring对每一层都提供技术支持
各种技术给予 java程序员许多自由度,因此在开源社区受了广泛欢迎,并且被大部分公司作为重要框架


------Spring 框架优点

简单,可测试和松耦合 的特点

1.  方便解耦 ,简化开发


2.  AOP编程的支持


3.  声明式事务的支持:
      只需要通过配置文件就可以完成对事务的     关联,无需手动编程 


4.  方便程序测试:
     Spring对JUnit4支持,可以通过注解方便测试Spring程序 


5.  降低JavaEE API的使用难度:
      spring 对 javaEE开发中非常难用的一些API (JDBC....)都提供了封装,使这些API用于难        度大大降低  


 ------Spring分为三大模块基本都有简单基础介绍,落下很少)

211ee418408c4df1b92e13506b7aa9b6.jpg

--------核心容器(Core Container)

1) CoreBean    

  封装了框架最底层的代码,提供IOC (控制反转) 和依赖注入


2) Context模块   

 构建于Core和Bean 之上 ,继承了Beas的特性 ,添加了对容器生命周期等的创建支持,   ApplicationContext接口是实现Context 模块的关键


3) Expression Language模块     

提供了一个强大的表达式语言用于在运行时查询和操纵对象    

---------数据访问/集成(DataAccess/Intergration)

1)    JDBC模块

提供了一个JDBC抽象层 ,可以消除冗长的 JDBC编码和解析数据库厂商特有的错误代码


2)    ORM模块

        该模块为流行的对象关系映射API提供一个交互层    


3)    OXM模块

        提供了一个对Object/XML映射实现的抽象层


4)    JMS模块

        是一个Java平台中关于面向消息中间件(MOM)的API,用来在两个应用程序之间,  或          分布式系统中发送消息,进行异步通信 


5)    Transaction 模块

         支持编程和声明性事务管理,这些事务必须实现特定接口,并且对所有的POJO(实                 体类)都适用

 ----------------- Web


1)     Web模块
        提供基础 Web 功能


2)   Web-Servlet    模块
3)     Web-Struts      模块
4)   Web-Porlet      模块

 

其他模块


1)     AOP模块

        提供了一个符合AOP联盟标准的面向切面编程的实现,它可以让你定义 例如方法拦截器 和切点 ,从而将逻辑代码分开,降低它们之间耦合度 等 ....


2)     Test模块

         支持使用JUnitTestNGSpring组件进行测试


3)     Instrumentation模块
4)   Aspects模块 


------Spring为我们提供了两种IoC容器,分别为


1)BeanFactory


      是基础类型的IoC容器,提供了完整的IoC服务支持,BeanFactory就是一个管理Bean的工程,它主要负责初始化各种Bean,并调用它们的生命周期方法(是加载配置文件后,实现的功能)


 
2) ApplicationContext


      是BeanFactory的子接口,也被称为应用上下文,它不仅提供了BeanFactory的所有功能,并且还以一种更加面向框架的方式增强了BeanFactory的功能
     

创建语法为:
 ApplicationContext   applicationContext  new ClassPathXmlApplicationContext("ApplicationContext.xml");


两种都是通过XML配置文件加载Bean的,相比之下

       ApplicationContext 提供了更多的扩展功能,其主要优势在于延迟加载:
       

如果Bean某一个属性没有注入成功

使用BeanFactory加载后在第一次调用getBean()方法时会抛出异常

而使用ApplicationContext
则会在初始化时自检有利于检查所依赖是否注入。因此,实际开发中通常使用ApplicationContext
               


(有什么讲述不对的地方非常非常欢迎大家提出修改,基本概念来自 教材书本和很少量搜索+理解)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值