赞
踩
概述:Spring是轻量级的开源的JavaEE框架
spring框架的主要特点:
在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。
所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。
IOC底层原理
xml解析、工厂模式、反射
IOC的过程:
1、第一步 配置XML文件,配置创建的对象。
<bean id=”dao” class = “com.hwl.UserDao”></bean>
2、第二步 有service类和dao类,创建工厂类
class UserFactory{
public static UserDao getDao(){
String classValue = class属性值; //xml解析
//通过反射创建对象
Class classz = Class.forName(classVlue);
return (UserDao)classz.newInstance();
}
}
IOC的本质:就是基于IOC容器完成,IOC容器底层就是对象工厂。
IOC接口(BeanFactory)
IOC操作(基于xml)
IOC操作(基于注解)
概念:面向切面编程。意为:在不修改源代码的情况,进行功能的增强。
面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
通俗的描述:不通过修改源码的方式,在主干功能里面添加新的功能。
使用登录的例子说明AOP
例如:现在有一个登录功能,用户输入账号面就可以登录,但是该用户是一个新用户,如果现在需要添加一个注册功能,按照之前的逻辑,就需要在,源代码的上面去进行功能的添加,同时代码量也会增加,但是如果利用aop的思想,我们就可以在登录方法前或者后,添加注册功能,同时两个模块互不干扰,从而也可以降低耦合度。
实现AOP的两种方法:
简单来说,Spring容器是用来装Spring Bean的。
- 1
在Spring中,所有的java对象均交由Spring容器使用DI(dependency injection)来进行托管,在需要时进行调用,并维护其生命周期。
所以,我们看到Spring容器和Spring bean是一种包含的关系,容器装载并维护着bean。
Spring中的容器是不唯一的,但大体上包括两个:BeanFactory和ApplicationContext
这两者都能,加载配置文件,通过工厂的这个过程,去创建对象
1、BeanFactory:
2、ApplicationContext:
两者之间的区别:
id : bean的唯一标志
class :bean的类型
factory-method :调用工厂方法,创建对象
factory-bean :调用创建对象的bean , 然后再factory-method 设置需要调用的具体的方法。
scope:
<!-- 通过scope设置bean对象时单例还是非单例: prototype : 非单例, 每次获取到的对象都是一个新的对象。 singleton :单例, 容器创建好这个对象之后,每次你使用都是同一个对象。 -->
<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。