博客
关于我
spring-day01
阅读量:561 次
发布时间:2019-03-10

本文共 1473 字,大约阅读时间需要 4 分钟。

spring的复习

在学习Spring框架时,我们需要掌握一些核心概念和常用配置。下面我们将从需求驱动、IOC和依赖注入、AOP等方面入手,逐步了解Spring的核心功能。

模块一:基本概念

Spring代表了控制反转,将传统的松耦耦构改造为紧耦耦构,简化了开发流程。

IOC(控制反转)

IOC的核心思想是控制权的转移。在传统的编程中,控制权集中在程序中,而通过IOC,可以将其转移给用户代码,减少我们对对象创建和管理的管控。

依赖注入
Spring通过依赖注入的方式,将外部依赖项注入到对象中,例如@Autowired注解。这种方式可以在配置文件或注解中指定依赖关系,减少硬编码,提高代码的可读性和维护性。
模型驱动开发
Spring倡导模型驱动开发,通过定义接口和实现分离的方式,用户可以专注于业务逻辑的开发,而不用过多关注框架细节。

模块二:IOC的配置

IOC的核心在于配置文件。默认情况下,Spring会读取IoC容器配置文件,解析里面的bean定义。

Bean的定义

bean的定义可以通过XML文件、Properties文件或注解来完成。在XML文件中,bean.xml是一个常用的配置文件。

bean的作用域

bean的作用域可以是单例、原型或其他自定义作用域。通过配置可以控制bean的生命周期。

bean的获取

beans可以通过autowired注入到方法参数中,或者通过getBean()方法在代码中进行获取。

模块三:AOP(面向切面编程)

AOP通过动态代理的方式,可以在不修改现有代码的情况下,添加额外的功能,比如日志记录、事务管理等。

AOP的目的

在实际应用中,我们可能需要在某些方法或者类中添加公共的操作。通过AOP,我们可以在不影响原有代码的情况下,添加新的功能。

AOP的实现原理

Spring AOP使用JDK代理或Cglib代理来实现动态代理。JDK代理基于动态生成代理类,而Cglib则基于生成带有感知的代理类。

常见AOP注解

@Controller、@Service、@Repository等注解可以用来标注控制器、服务层和数据访问层方法,用来完成日志记录、权限验证等切面功能。

模块四:持式依赖与处理

在实际项目中,尤其是当中心控制器或服务层中存在多个内部依赖时,如何高效地处理这些依赖关系是一个关键问题。Spring中的管理 beans 提供了更好的方式来处理这些问题。

内部依赖管理

使用管理 beans 来创建和管理内部依赖,这可以在服务层中实现对内部不同组件的解耦,减少依赖冲突。

例子说明

例如,在一个有多个内部服务的服务类中,可以通过管理 beans 来注入各个内部服务,从而避免直接使用 new 关键字创建对象。

模块五:事务管理

在数据访问层进行事务管理,是保证数据一致性的重要手段。Spring通过一个管理beans的方式来实现事务管理。

优点

使用Spring的事务管理可以显著简化事务管理代码,避免手动管理事务。

常见注解

@Transactional注解可以用在Controller、Service层方法中,标注后会自动产生事务,并在事务完成后自动回滚。

事务传播行为

Spring的事务传播支持多种传播特性,比如传播到required-required级别的session或txsunblush behavior。

通过以上内容,可以对Spring框架的主要特性和常用配置有更全面的了解。在实际应用中,可以根据项目需求选择合适的配置方式,从而提高开发效率和代码质量。

转载地址:http://dxbvz.baihongyu.com/

你可能感兴趣的文章