Springを使った開発では、コンテナに登録したいクラスに@Component、依存性を注入するときに@Autowiredというアノテーションを使用しますが、似たようなアノテーションとして@Namedと@Injectというものがありますが、どちらを使うべきなのでしょうか? @AutowiredはSpring独自アノテーション 今ではJavaの言語仕様としてCDI (Contexts and Dependency Injection)という名称でDIの仕様が定義されています。 しかし昔のJavaにはDIはなく、Spring Frameworkが独自にDIを開発して普及したのが始まりです。 そして@Autowiredは、Springがもともと提供していたアノテーションでした。 @InjectはJava標準アノテーション その後、SpringのDIをベースにした概念がJavaの標準APIに含まれ