Spring大概包括:
Inversion Of Control 控制反转(IOC)
Dependency In Jection 依赖注入(DI)
Aspect Oriented Programming面向切面的编程(AOP)
Data Access 数据访问
Transaction 事务管理
核心技术的IOC:
官网提供的解释:Spring框架的实现控制反转(IOC)原理把new对象的控制权交给第三方的框架来创建对象。比如:
原来的程序员new
UserDaoImpl userDao= new UserDaoImpl();
现在应该交给Spring或反转个Spring创建对象
spring要创建对象,并把对象存储给一个容器,容器中可以存储多个对象
DI 依赖注入:
在需要的时候创建对象,需要从Spring的对象容器中取出对象,并注入到需要的地方
Spring的项目搭建
Spring可以在Java项目上也可以在web项目中
步骤:
创建项目 是基础
导入jar包 Spring的功能基础
创建Java类 哪些类要实例化对象
创建Spring的配置文件 Spring的文件清单,告知Spring框架该如何去实例化对象
启动Spring容器读取配置文件 读取Spring文件的配置信息,去逐一创建对象
一些相关问题:
1.Spring容器的概念:Spring容器其实是一个map集合
2.Spring文件清单的智能提示
从开发包中复制schema的文件夹到指定盘符,建议目录不要太深
3.同一个类可以多个实例化,但ID不可重复
4.在spring容器中某一个对象可以取出多次,但是对象是相同的,地址一样。
5.Spring 容器中实例化对象默认是singleton单例
6.Spring实例化对象的生命周期问题
单例scope=“singleton”
Spring容器中的对象跟Spring容器的生命周期一样
多例scope=“property”
对象有与用户来维护,水得到对象,谁就维护。容器中没有此对象
7.Spring容器的生命周期:
开始:初始化Spring容器时开始
Spring生命周期开始后,如果有init方法,就执行init方法
结束:context.close();生命周期结束。
结束时,如果有destroy方法就执行destroy方法
8.实现实例化的懒加载(lazy)
9.懒加载和scope的组合
10.Spring的常用API方法:
getBean(“id”,XXX.class);根据ID获得对象
getBean(“id”);需要强制转换,只根据id获取对象
getBean(xxx.class);在容器中不能有相同XXX类的对象
close方法:用来销毁spring容器的