-
Spring框架中的单例Beans是线程安全的吗?
Spring框架并没有对单例bean进行任务的多线程封装处理。关于单例bean的线程安全和并发问题需要开发者自行实现。大多数情况下Service和Dao等bean对象不存在状态变量,这个角度来讲,Spring的bean是线程安全的。如果bean存在状态变量, 需要保证线程安全,简单的方式可以调整"scope"从"singleton"变为"prototype" -
Spring常用注解
@Component
spring bean的注解
@Controller
web控制层
@Service
service服务层
@Respository
dao存储层
@Qualifier
基于spring的byName(通过bean名字)注入,如果无法找到对应name的bean通过type(类型进行注入)
@Required
表示对bean的属性进行注入,并且要求在xml配置文件中对bean的该属性必须注入初始值。
@Autowired
默认自动注入,通过type类型注入
@Resource
基于Java EE的注解,默认byName注入, 未找到对应名称的bean会使用类型注入。
@Scope
设置bean的作用域
@PostConstruct
bean生命周期初始化之前
@PreDestroy
bean生命周期销毁之前
网友评论