Jakarta EE 10)ですが機能的に大きな違いはありません • MicroProfile 5.0をベースにしているのはHelidonの最新が、、モゴモゴ • JakartaEEの各仕様名はJavaEE時代から変更されていますが、表記が長くな るのと発表者が呼びなれないため、JavaEE時代の旧称を使用しています <例> • Jakarta RESTful Web Services → JAX-RS(Java API for RESTful Web Services) • Jakarta Persistence → JPA(Java Persistence API) 4
public class Foo { private Bar bar; @Inject public Foo(Bar bar) { this.bar = bar; } } import jakarta.enterprise.context.ApplicationScoped; @ApplicationScoped public class Bar { } <CDIで実装した場合> import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class Foo { private Bar bar; @Autowired // 省略も可。あと@Injectも使える(使おうと思えば・・ public Foo(Bar bar) { this.bar = bar; } } import org.springframework.stereotype.Component; @Component public class Bar { } <Springで実装した場合> 極論するとアノテーションが違うだけで基本機能としてできることは同じ ライフサイクルはSingleton ライフサイクルはSingleton