Spring@配置的Java EE 6/7等效版本

Spring@配置的Java EE 6/7等效版本,spring,dependency-injection,java-ee-6,java-ee-7,Spring,Dependency Injection,Java Ee 6,Java Ee 7,Spring是否有与JavaEE6/7等效的注释 如果答案是肯定的,那么是其周围注释的等价物,例如@ComponentScan和@EnableWebMvc 当然,我确实在JavaEE6/7(我承认我在这里和那里跳过了一段)、javadocs(特别是在注释中)、SpringDoc、教程、博客和Google中寻找过它。这个包定义了许多注释,用于注册Servlet,过滤器,和Listener类以及其他一些配置,例如安全性 您还可以使用该类通过Java而不是通过XML部署描述符来配置您的应用程序。Spr

Spring是否有与JavaEE6/7等效的注释

如果答案是肯定的,那么是其周围注释的等价物,例如
@ComponentScan
@EnableWebMvc

当然,我确实在JavaEE6/7(我承认我在这里和那里跳过了一段)、javadocs(特别是在注释中)、SpringDoc、教程、博客和Google中寻找过它。

这个包定义了许多注释,用于注册
Servlet
过滤器
,和
Listener
类以及其他一些配置,例如安全性

您还可以使用该类通过Java而不是通过XML部署描述符来配置您的应用程序。Spring提供了自己的
ServletContainerInitializer
实现,在这种情况下,您所要做的就是创建一个实现并执行servlet、筛选器和侦听器注册的类,并将该类保留在类路径上


javadoc中有大量的例子

JEE CDI还有一个注释,用于以编程方式创建bean并公开它们,因此它提供了称为生产者的bean工厂:
CDI提供了生产者方法(用@products注释),这相当于spring中的@Bean。您可以实现生产者类,这些类是包含一系列生产者方法的bean。然而,这远没有spring配置强大,因为据我所知,不可能“导入”其他配置(producer类)

这使得测试CDI应用程序特别困难

你也可以

  • 大量使用mock测试单个cdibean,以完全避免注入对象
  • 放大您的测试类,只是为了创建具有所有依赖项的被测试实例
  • 使用测试框架,比如为您创建bean的CDI单元
  • 和1。测试驱动的开发几乎变得不可能,而且当实现发生变化时,即使合同没有变化,测试也必须始终进行调整

    和2。一旦bean之间的依赖关系发生变化,测试中就会出现大量编译器错误

    和3。您需要将测试框架指向bean的实现。因为不存在了解所有bean的配置,所以测试需要了解它。同样,如果情况发生变化,您的测试将中断

    我承认。。。我不喜欢CDI-P