javax.enterprise.context.ApplicationScoped和javax.inject.Named之间有什么区别?

javax.enterprise.context.ApplicationScoped和javax.inject.Named之间有什么区别?,java,jakarta-ee,Java,Jakarta Ee,在JavaEEWeb应用程序中,我可以交替使用@Named和@ApplicationScoped注释,如下所示 @Transactional @ApplicationScoped public class MemberBankAccountProfileServiceImpl implements MemberBankAccountProfileService { 及 有人能告诉我们@Named和@ApplicationScoped注释之间的区别吗?@ApplicationS

在JavaEEWeb应用程序中,我可以交替使用@Named和@ApplicationScoped注释,如下所示

  @Transactional
  @ApplicationScoped
  public class MemberBankAccountProfileServiceImpl implements 
  MemberBankAccountProfileService {

有人能告诉我们@Named和@ApplicationScoped注释之间的区别吗?

@ApplicationScoped对象在应用程序期间创建一次。一旦创建,它可以在应用程序中多次使用

@命名注释在JSR330中定义,用于区分同一范围内的两个同类对象。 这相当于SpringXML中按名称自动连接

希望它能消除基本的区别

  @Named
  public class AuthenticationServiceImpl implements AuthenticationService {