千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Spring框架中的单例Bean是线程安全的么?

Spring框架中的单例Bean是线程安全的么?

来源:千锋教育
发布人:qyf
时间: 2022-08-03 16:57:00 1659517020

Spring 框架

  Spring 框架中的单例 Beans 是线程安全的么?

  Spring框架并没有对单例bean进行任何多线程的封装处理。关于单例bean的线程安全和并发问题需要开发者自行去搞定。但实际上,大部分的Spring bean并没有可变的状态,所以在某种程度上说Spring的单例bean时线程安全的。如果你的bean有多种状态的话,比如view model,就需要自行保证线程安全啦。

  最浅显的解决办法就是将多态bean的作用域由singleton变更为prototype。

  请解释 Spring Bean的自动装配?

  Spring支持IOC,自动装配不用类实例化,直接从bean容器中取。

  1. 配置在xml中

<bean id="employeeDAO" class="com.guor.EmployeeDAOImpl" autowire="byName" />

  2. @Autowired实现自动装配

  如何开启基于注解的自动装配?

  要使用 @Autowired,需要注册 AutowiredAnnotationBeanPostProcessor,可以有以下两种方式来实现:

  引入配置文件中的<bean>下引入 <context:annotation-config>

<beans>
<context:annotation-config />
</beans>

  在bean配置文件中直接引入AutowiredAnnotationBeanPostProcessor

<beans>
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
</beans>

  什么是 Spring Batch?

  spring batch是一个轻量级的、完善的批处理框架,它主要的目的在于帮助企业建立健壮、高效的批处理应用。

  spring batch是Spring的一个子项目,它使用java语言并基于spring框架作为基础开发,使得已经使用Spring框架的开发者或者是企业可以更加容易访问和利用企业服务。

  spring batch提供了大量可重用的组件,包括了日志、追踪、事务、任务作业统计、任务重启、跳过、重复、资源管理。

  对大数据量和高性能的批处理任务,spring batch同样提供了高级功能和特性来支持。

  例如:分区功能、远程功能。

  总的来说,spring batch可以支持简单的、复杂的和大数据量的批处理作业。

  Spring Batch业务场景

  ●周期性的提交批处理

  ●把一个任务并行处理

  ●消息驱动应用分级处理

  ●大规模并行批处理

  ●手工或调度使任务失败之后重新启动

  ●有依赖步骤的顺序执行(使用工作流驱动扩展)

  ●处理时跳过部分记录

  ●成批事务:为小批量的或有的存储过程/脚本的场景使用。

  请举例解释@Required 与@Qualifier注解?

  1. @Required注解

  @Required注解应用于bean属性的setter方法,它表明影响的bean属性在配置时必须放在XML配置文件中。

  2. @Qualifier 注解?

  如果在xml中定义了一种类型的多个bean,同时在java注解中又想把其中一个bean对象作为属性,那么此时可以使用@Qualifier加@Autowired来达到这一目的,若不加@Qualifier这个注解,在运行时会出现“ No qualifying bean of type [com.tutorialspoint.Student] is defined: expected single matching bean but found 2: student1,student2”这个异常。

  更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT