复习Spring(二)

IOC容器基本原理

        在没有使用IOC时,我们在程序内部new关键字创建对象(bean)并管理对象之间的关系。使用了IOC后,创建对象和管理对象之间关系的工作由IOC容器负责,控制权从程序内部转换到了IOC容器,所以称为控制反转。在Spring中,组成应用程序的主体及由Spring IOC容器管理的对象,被成为Bean。bean就是IOC容器初始化、装配及管理的对象。bean定义以及bean相互间的依赖关系将通过配置元数据来描述

配置元数据

        IOC读取配置元数据,并通过它对应中各个对象进行实例化、配置以及组装。一般以xml文件配置元数据,定义bean。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="..." class="...">
        <!--该bean的协作者及其他配置-->
    </bean>
</beans>

        bean元素对应于在应用程序中创建bean对象。一般包括:Action表示层对象,Service对象,DAO对象等。

        id属性给bean指定标识符,class属相是类的全限定类名。id具有唯一性,name可提供多个名称,用逗号分割。

实例化容器

        添加jar包,编写xml文件,在工程的src目录下新建一个xml文档,就是上面的配置文件。然后实例化容器

        IOC容器负责容纳此前描述的bean,一般不需要用显示的代码去实例化一个或多个IOC容器。BeanFactory的getBean()方法从容器中获取实例,和new关键字创建的实例没有区别。

使用 ApplicationContext

        是BeanFactory的扩展,一般把ApplicationContext接口作为使用IOC容器类的首选。需添加jar包。 

bean的实例化

        xml配置文件中bean的定义描述了如何创建实例,容器会从bean定义列表中取得一个指定的bean定义,并根据bean定义的具体内容使用反射机制来创建或取得一个实际的对象。class属性指明了将被实例化的对象类型,一般容器直接通过反射调用指定类的构造器来创建bean实例。少数调用类的静态工厂方法来创建bean实例。

### Spring框架核心要点复习 Spring框架由Rod Johnson于2003年开发,目标是简化企业级Java应用程序开发,提供轻量级开发模型,解决了J2EE开发的一系列问题,使得企业级应用更易于开发、测试和维护[^1]。 - **核心概念** - **IoC(控制反转)与DI(依赖注入)**:IoC是一种设计理念,将对象的创建和依赖关系的维护从代码中解耦,交给Spring容器管理;DI是实现IoC的具体方式,通过构造函数、Setter方法等将依赖对象注入到目标对象中。例如,Spring工厂用于生成bean,把所有对象创建和依赖关系维护交给Spring管理,实现高内聚低耦合,方便解耦和简化开发[^1][^2]。 - **AOP(面向切面编程)**:Spring引入AOP支持,允许将横切关注点(如日志记录、权限验证等)从主要业务逻辑中分离出来,使代码更加规范。可以方便地实现对程序进行权限拦截、运行监控等功能[^1][^2]。 - **声明式事务**:只需要通过配置就可以完成对事务的管理,而无需手动编程,提高了开发效率和代码的可维护性[^2]。 - **开发模式** - **配置文件开发**:创建Spring配置文件(一般建议放到src目录下,名称可写成applicationContext.xml),并引入schema约束。示例配置文件内容如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans> ``` - **纯注解开发**:Spring 3.0开启了纯注解开发模式,使用Java类替代配置文件,开启了Spring快速开发赛道。例如可以使用注解来配置bean,无需在配置文件中对包进行扫描等操作[^3]。 - **优点及其他特性** - **方便程序测试**:Spring对Junit4支持,可以通过注解方便地测试Spring程序[^2]。 - **集成优秀框架**:方便集成各种优秀框架,例如对Struts、Hibernate、MyBatis、Quartz等的直接支持,降低JavaEE API的使用难度[^2]。 - **简化数据访问**:Spring提供了JDBC模板和ORM集成,简化了数据访问层的开发[^1]。 ### 复习方法 - **搭建简单项目**:快速搭建一个基于Spring框架的简单Java项目,分别使用配置文件和纯注解的方式实现IoC、AOP和声明式事务等功能,通过实践加深对知识点的理解和记忆。 - **制作思维导图**:将Spring框架的核心概念、开发模式、优点等内容制作成思维导图,梳理知识体系,便于整体把握和快速回顾。 - **刷题巩固**:找一些Spring框架相关的面试题和练习题进行练习,检验自己对知识点的掌握程度,针对薄弱环节进行重点复习
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值