java-spring入门学习笔记

一、接口及面向接口编程

-接口:只能有声明不能有实现,支持多重继承(在java8中接口可以拥有方法体)
-抽象类:既可以有包含实现的声明也可以有不包含实现的声明
-类:声明必须包含实现
-面向接口编程:指提供一个接口与一个实现类,接口是提供给用户的,用户通过它来创建对象,实现类是用来实现这个对象的,而接口与实现类是通过一个implements关键字来连接
接口实现的变动不会影响其他各层的调用,对公共服务非常重要

二、什么是IOC

控制反转:控制权的转移,应用程序本身不负责依赖对象的创建与维护,而是由外部容器负责创建和维护。
依赖注入(DI):是一种实现方式,由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中。

IOC控制反转,是哪些方面的控制被反转了? Martain Fowler 提出 “获得依赖对象的过程被反转了”。 控制被反转之后,或得依赖对象的过程由自身管理(自己 new)的方式变为由IOC容器主动注入。于是他给IOC取了一个更合适的名字依赖注入(DI),DI是IOC的一种实现方式,所谓 依赖注入就是在由IOC容器运行期间,动态的将某种依赖注入到对象中。
目的:创建对象并且组装对象之间的关系

一个生动的例子

程序员大多都是单身~(无奈),脱单传统的方式呢,是自己去找对象,找对象的过程十分复杂也不靠谱,传统的程序开发过程也是这样,在一个对象中,如果要使用另外的对象,就必须得到它(自己new一个,或者从JNDI中查询一个),使用完之后还要将对象销毁(比如Connection等),对象始终会和其他的接口或类藕合起来。那么IoC是如何做的呢?有点像通过婚介找女朋友,在我和女朋友之间引入了一个第三者:婚姻介绍所。婚介管理了很多男男女女的资料,我可以向婚介提出一个列表,告诉它我想找个什么样的女朋友,然后婚介就会按照我们的要求,提供一个。如果婚介给我们的人选不符合要求,我们就会抛出异常。整个过程不再由我自己控制,而是有婚介这样一个类似容器的机构来控制。Spring所倡导的开发方式就是如此,所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

三、Spring的Bean配置

在IOC容器中将所有的控制对象称作bean,Spring对于bean的使用有两种方式:基于spring-ioc.xml的配置和注解。
注意xml中关于bean的配置程序段

使用示例:
public void test(){
OneInterface interface=super.getBean("oneInterface");//获取bean,不需要new对象
interface.hello();//调用函数
}

四、Bean的初始化

五、Spring的常用注入方式


### AOP 面向切面编程 () 什么是AOP? AOP能给带什么? spring AOP 和 AspectJ
posted @ 2018-02-08 09:28  Theodor  阅读(122)  评论(0)    收藏  举报