记录java Spring学习笔记

1.java Spring所需的两个框架包

Spring下载:
两个jar包:
Spring框架包
http://repo.spring.io/simple/libs-release-local/org/springframework/spring/4.3.6.RELEASE

第三方依赖包
spring容器依赖的Commons.logging的jar包
http://commons.apache.org/proper/commons-logging/download_logging.cgi

2.

第一章 Spring中的Bean


1.spring的概念和优点

概念:
Spring是分层的JavaSE/EE full-stack轻量级开源框架,
以IoC(Inverse of Control控制反转)和AOP (Aspect Oriented Programming面向切面编程)为内核,
使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的臃肿、低效的开发模式。

Spring的IOC和DI

依赖注入的前提:
有IOC的环境,也就是必须将对象的创建权交给了Spring.

DI 介绍
Dependency Injection 依赖注入.需要有IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依赖的属性设置进去.

IOC与DI的的区别:
IOC: 控制反转,将类的对象的创建交给Spring类管理创建.
DI: 依赖注入,将类里面的属性在创建类的过程中给属性赋值.
DI和IOC的关系: DI不能单独存在,DI需要在IOC的基础上来完成.

这样做得好处:做到了单一职责,并且提高了复用性,解耦了之后,任你如何实现,使用接口的引用调用的方法,永远不需要改变


spring框架优点;
非侵入式设计
方便解耦,简化开发
支持AOP
支持声明式事务处理
方便程序测试
方便集成各种优秀框架
降低java EE API的使用难度

libs目录的四个spring基础包:
spring-core-4.3.6.RELEASE.jar
包含spring框架的核心工具类,spring其他组件都要用到这包里的类。
spring-beans-4.3.6.RELEASE.jar
所有应用都要用到jar包,它包含访问配置文件,创建和管理bean以及进行控制反转或者依赖注入相关的所有类
spring-context-4.3.6.RELEASE.jar
提功了在基础IOC功能上的扩展服务,还提供了许多企业级服务的支持
spring-expression-4.3.6.RELEASE.jar
定义了spring的表达式语言

SPring体系结构:
分层结构
1.核心模块-核心容器Core Container
Beans-Spring的顶层接口
Core-Spring基本组成部分
Context-上下文模块
SpEL

spring的核心容器:
BeanFactory
创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些
信息通常采用XML文件形式来管理,其加载配置信息的语法如下:
BeanFactory beanFactory=new XmIBeanFator(new FileSystemResoureeC apalionCntaxtoxix));

ApplicationContext
ApplicationContext是BeanFactory的子接口,是另-一种 常用的Spring核心容器。
它由org.springframework .context.ApplicationContext接口定义,
不仅包含了BeanFactory的所有功能,
还添加了对国际化、资源访问、事件传播等方面的支持
通过ClassPathXmlApplicationContext创建
通过FileSystemXmlApplicationContext类来实例化ApplicationContext容器的方式

 
spring的核心容器包括了:Beans、Core、Context、SpEL


① core和beans模块提供了整个框架最基础的部分,包括了IOC和DI。

② Context建立在Core和Beans模块提供的基础之上:他提供了框架式访问对象的方式

③ core、beans、context构成了Spring的骨架

④ SpEL:提供了一种强大的用于在运行时操作对象的表达式语言

 org.springframework.beans.factory.BeanFactory是Spring容器的实际代表者,容器负责容纳此前所描述的bean,并对bean进行管理。

原文地址:https://www.cnblogs.com/Anm214/p/12463887.html