java中springdi_java中spring入门

1、spring的概念

apache推出的java企业框架,提供了基于ioc的对象工厂、aop面向切面编程等功能及其他增强功能。

当前版本4.xxx,支持注解的配置。 springmvc。

2、控制反转(ioc):inversion of control。用来描述框架的重要特征

spring针对ioc的具体实现:依赖注入(DI): Dependency Injection

概念:(考点:如简述IOC)

我们需要的对象,不是由我们自己创建,而是由外部容器事先准备好,我们需要时才去拿。

比如说“在家里有个好老婆”。你需要任何生活中的东西基本都能直接给你,这样我们就能更专注于做自己要做的事,而不用为生活琐事耽误时间。

优点总结:专注业务,无需关注对象的创建。同时外部的容器允许对象具有可替代性,更加灵活。(后边这句的理解:根据接口提供多个实现,让用户选中合适自己的。)

举例:

A a = new A(???); //亲自去创建对象

使用ioc后==>

A a = factory.getBean("a")://从外部对象工厂去拿对象。

a.test();

spring框架提供了ioc的一种代码实现方式:di=依赖式注入(depency injection).

综合应用了java的xml\面向对象\反射技术\工厂模式。

编码:Superman演示依赖注入。

di概念:类持有一个抽象接口,在运行期由他人注入实例来决定运行的结果。

这里重点就是运行期,每次修改只需要改配置,不需要重新编译java文件,效率高。

另外构造时属性可以任意装配,灵活性大。如下例:组合飞行接口,实现在xml中随意配置。

class Superman

{

IFly tool; //持有抽象接口

main()

{

sm.setTool(new Plane()/new Balloon ()); //外部注入

}

}

3、spring的基础配置

a 对象的生命周期 考点

singleton--单例。【默认】

prototype--原型,每次获取都创建新的对象。

request--和request对象生命周期一致。获得响应后释放。

session--和session对象生命周期一致。setMaxInactiveInterval()//超过最大无活动时间就释放。或session.invalidate()。注意:误区:session不是关闭浏览器就结束生命周期,关闭浏览器只是jsessionid重建。服务器内存中的数据不会马上清理。

b 构造注入:本质上是通过反射调用有参构造函数

入参1的值入参2的值

...

设值注入:本质上是通过反射调用setXxx方法

c 对象工厂的延迟创建

lazy-init = true. 默认是false,在创建工厂时自动创建。

ee4f8472873ec98557427ce5a581b0ca.png背影

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值