Spring配置扩展

本文介绍了Spring配置文件拆分的原因和方案,包括为了提高可读性和维护性,以及解决多人协作时的冲突问题。同时,文章详细讲解了自动装配的概念,包括XML和注解两种方式,并探讨了Bean的作用域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

拆分Spring配置文件

为什么拆分Spring配置文件

拆分方案

常见的拆分逻辑

自动装配

什么是自动装配

手动装配

自动装配

①xml

 Bean的自动装配

Bean的作用域有几种?

②注解


拆分Spring配置文件

拆分(Splitting)是将一个整体或复杂的系统、组织、功能、任务等分解成更小、更独立的部分或子项的过程。拆分通常用于简化复杂性、提高可管理性、并行开发或实现模块化设计。

为什么拆分Spring配置文件

a. 项目规模变大,配置文件可读性和维护性都会降低

b. 多人修改同一配置文件时也容易发生冲突,影响开发效率

拆分方案

a. 公用配置(包含数据源、事务等)+每个系统模块一个单独配置文件(包含DaoService以及Web控制器)

b. 公用配置(包含数据源、事务等)+DAO Bean配置+业务逻辑Bean配置+Web控制器配置

两种方案各有特色,适用于不同场合

常见的拆分逻辑

①功能拆分逻辑

②职责拆分逻辑

③数据拆分逻辑

④模块化拆分逻辑

⑤组织拆分逻辑

在拆分时需要考虑的几点:

①单一职责原则

②依赖关系管理

③可扩展性和复用性

④性能和资源利用

自动装配

什么是自动装配

自动装配(Autowiring)是Spring框架中的一个特性,用于自动完成依赖注入的过程。它通过在容器中查找匹配类型的Bean,并将其自动连接到需要依赖的地方,从而实现对象之间的关联。

手动装配

<bean id="userMapper" class="mapper.SmsUserMapperImpl"></bean>
    <bean id="userService" class="service.UserServiceImpl">
        <constructor-arg ref="userMapper"></constructor-arg>
    </bean>

自动装配

有两种方式,①xml ②注解  推荐使用注解

①xml

设置<bean>元素的autowire属性

<bean id="userService"
	class="cn.cvs.service.sysUser.SysUserServiceImpl" 	autowire="byName" />
 Bean的自动装配

a. No     不使用自动装配 Bean的依赖关系必须通过property元素定义

b. byType     根据属性类型自动装配

c. byName   根据属性名自动装配

d. Constructor      byType的方式类似,不同之处在它应用于构造器参数

Bean的作用域有几种?

a. Singleton 默认值,以单例模式创建Bean的实例,即容器中该Bean的实例只有一个

b. Prototype 每次从容器获取Bean时,都会创建一个新的实例

c. Request 用于Web应用环境,针对每次HTTP请求都会创建一个实例

d. Session 用于Web应用环境,同一个会话共享同一个实例,不同的会话使用不同的实例

e. Global session 仅在PortletWeb应用中使用,同一个全局会话共享一个实例,对于非Portlet环境,等同于session

②注解

<context:component-scan base-package="com.mapper,com.service"></context:component-scan>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值