IOC

什么是框架

高度抽取可重用性的一种设计。多个可重用模块的集合,形成一个某个领域的整体解决方案。

Spring

容器(可以管理所有的组件(类))框架;
核心关注:IOC和AOP;

Test:Spring的单元测试模块。
spring-test-5.2.3.RELEASE

Core Container:核心容器(IOC)
spring-beans-5.2.3.RELEASE、
spring-core-5.2.3.RELEASE、
spring-context-5.2.3.RELEASE、
spring-expression-5.2.3.RELEASE

AOP+Aspects(面向切面编程模块)
spring-aop-5.2.3.RELEASE、
spring-aspects-5.2.3.RELEASE

数据访问
spring-jdbc-5.2.3.RELEASE、(数据访问)
spring-orm(Object Relation Mapping)-5.2.3.RELEASE、(数据访问)
spring-oxm(xml)-5.2.3.RELEASE、(集成)
spring-jms-5.2.3.RELEASE、(集成)
spring-tx-5.2.3.RELEASE(事务)(数据访问)

Web:Spring开发web应用的模块
spring-websocket(新技术)-5.2.3.RELEASE、
spring-web-5.2.3.RELEASE(和原生的web相关(servlet))、
spring-webmvc-5.2.3.RELEASE(开发web项目的(web))、
spring-webmvc-portlet-5.2.3.RELEASE(开发web应用的组件集成)

用什么功能,导什么jar包

IOC

Inversion Of Control:控制反转。
控制:资源的获取方式:

  • 主动式:要什么资源自己创建
BookServlet{
	BookService bs = new BookService();
}
  • 被动式:资源获取不是我们自己创建,而是交给一个容器来创建和设置。
BookServlet{
	BookService bs;
	public void test{
		bs.xxx();
	}
}

容器:管理所有的组件(类)。主动new变为被动接收资源。
假设,BookServlet受容器管理,BookService也受容器管理;容器可以自动的探出那些组件(类)需要用到另一个写组件(类);容器帮我们创建BookService对象,并把BookService对象赋值过去。

DI(依赖注入)

容器知道哪个组件(类)运行的时候,需要另外一个类(组件);容器通过反射的形式,将容器中准备好的BookService对象注入(利用反射给属性赋值)到Bookservlet中;

写框架流程

  1. 导包
    commons-logging-1.2(Spring运行的时候依赖一个日志包,没有就报错)
    spring-beans-5.2.3.RELEASE
    spring-core-5.2.3.RELEASE
    spring-context-5.2.3.RELEASE
    spring-expression-5.2.3.RELEASE
  2. 写配置(xxx.xml)
    一个Bean标签可以注册一个组件(对象、类);
    class:写要注册的组件的全名;
    id:这个对象的唯一标识;
    property:这个标签为xxx对象的属性赋值;
    name=“xxx”:指定属性名;
    value=“xxx”:为这个属性赋值
  3. 测试
    ApplicationContext:代表IOC容器;
    ClassPathXmlAppliactionContext:当时应用的xml配置文件在Class路径下。

注:
IOC容器在创建这个组件对象的时候,(property)会利用setter方法为javaBean进行赋值。
javaBean的属性名是由getter/setter方法的名字决定。
src,源码包开始的路径,称为类路径的开始;所有源码包里面的东西都会合并放在类路径里面;java:/bin/;web:/WEB-INF/classes/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值