Spring学习笔记0

Spring介绍)

Spring是Java EE编程领域的一个轻量级开源框架.
Spring是一个开源容器框架, 它集成各类型的工具,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。 在整个框架中,各类型的功能被抽象成一个个的 Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程。

IOC:控制反转

作用:

解耦:降低程序之间的依赖程度 类和类(方法和方法)之间存在依赖关系,通过解耦降低这种依赖,但是不能完全解除这种依赖关系

什么是耦合度:类和类(方法和方法)之间存在依赖程度

如何解耦: 降低耦合度:反射+配置文件

1.使用反射的方式来创建对象,不使用new的方式创建对象
2. 在配置文件中定义需要创建的对象所属类的全限定名,

db.properties dbdriver=com.mysql.jdbc.Driver(类的全限定名) 

spring的IOC:Inverse Of Control (控制反转)

spring负责dao,service对象的创建,spring创建dao,service对象的原理类似我们自己写的方式(反射+配置文件)

1.加入spring依赖
2.dao,service
3.创建spring的配置文件
4.从spring容器中获取对象

容器接口

ApplicationContext: 配置文件加载完成,对象就创建完成了,立刻创建对象的方式,

单例 ClassPathXmlApplicationContext: 加载的是类路径下的配置文件,

常用 FileSystemXmlApplicationContext: 加载磁盘上的任意位置的配置文件

AnnotationConfigApplicationContext:注解

顶层接口是:BeanFactory,延迟创建对象,当使用getBean方法获取对象时,才会创建对象,多例XmlBeanFactory

创建对象的三种方式:
第一种方式:使用默认的构造方法创建对象在bean标签中只配置id和class两个属性适合于自己定义的类

<bean id="accountService" class="com.service.impl.AccountServiceImpl"></bean>

第二种方式: 实例工厂负责创建对象 如何得到工厂创建的对象
1.创建工厂的对象
2.调用工厂对象的方法

<bean id="factory" class="com.factory.InstanceFactory"></bean> 
<bean id="accountService" factory-bean="factory" factory-method="getInstance"></bean>

第三种方式: 静态工厂负责创建对象 不需要创建工厂的对象,直接调用工厂类的方法

 <bean id="accountService" class="com.factory.StaticFactory" factory-method="getInstance"></bean> 

对象的作用范围:
scope: singleton 单例
prototype 多例
request 请求范围
session 会话范围
global-session 集群环境下的范围,如果没集群则等价于session

  <bean id="accountService" class="com.service.impl.AccountServiceImpl" scope="prototype" ></bean>

对象的生命周期:
单例:
实例化:容器创建时就创建了对象
活着: 只要容器不关闭,就一直活着
销毁: 容器关闭了,对象就被销毁了,和容器的生命周期一致

例:
实例化:当使用getBean方法获取对象时,创建对象
活着: 只要一直使用,就一直活着
销毁: 当长时间没有使用该对象,且没有其它引用时,才等待垃圾回收器回收

DI: Dependency Injection 依赖注入

一个类中定义的成员变量,都是该类所依赖的

**AOP:**面向切面

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值