1. Spring的概述
-
spring是什么
Spring是分层的JavaSE/EE应用full-stack(全栈)轻量级开源框 架,以IOC(控制反转)和AOP(面向切面编程)为内核,提供了展示层springMVC和持久层Spring JDBC以及业务层事务管理等众多企业级应用技术,还能整合开源世界众多著名的第三方框架和类库
2. spring的两大核心
1. IOC(控制反转)
2. AOP(面向切面编程)
3. spring的优势
1.方便解耦,简化开发
通过Spring提供的IOC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码造成的过度
程序耦合。用户也不必再为单列模式类,属性文件解析这些底层的需求编写代码,可以更专注于上层应用
AOP编程支持
2.通过Spring的AOP功能,方便进行面型切面的编程声明式(配置方式)事务的支持
3.通过声明方式灵活的进行事务的管理方便程序测试
4.方便集成各种优秀框架(Struts,Hibernate,Hessian,Quartz)
5.降低javaEEAPI的使用难
4. Spring体系结构
5. 程序的耦合及解耦
是一个创建bean对象的工厂
** Bean在计算机英语中,有可重用组件的含义
* Javabean:用Java语言编写重用组件
* Javabean不等于实体类 Javabean > 实体类
* 它就是创建我们的service和dao对象
* 第一步:需要一个配置文件来配置我们的service和dao
* 配置的内容:唯一表示=全限定类名(key=value)
* 第二步:通过读取配置文件中配置内容,反射创建对象
** 我的配置文件可以是xml也可以是properties
1. 曾经案例中问题
2. 工程模式解耦
2. IOC概念和Spring中的IOC
2. IOC(控制反转)
private accountDao accountDao = new accountDaoImpl();
private accountDao accountDao = (accountDao)BeanFactory.getBean("accountDao");
为什么叫控制反转,
因为在创建的时候你把new accountDaoImpl();(创建对象)的权力转交给BeanFactory(工厂或者说框架)所以叫控制反转。这样子可以降低程序之间的依赖关系