Java Spring5 アノテーションでhello world

Java Spring5のアノテーションでhello worldを表示するサンプルです。
XML(applicationContext.xml)は使用しません。

確認環境
・Spring 5.2.9
・JDK 11.0.2
・Eclipse 4.17

目次

サンプル 環境
  1.MainController.java
  2.TestConfig.class
  3.ISyain.java
  4.Syain.java
参考 pom.xml

環境

今回作成したファイルです。

最初にMainController.javaを起動します。
次にTestConfig.javaで@Componetが付与されたクラスをDIコンテナにbeanとして登録し
context.getBeanでbean(インスタンス)を取得してメソッドを実行します。

1.MainController.java

package com.example.demo;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainController {
	public static void main(String[] args) {

		AnnotationConfigApplicationContext context = 
				new AnnotationConfigApplicationContext(TestConfig.class);

		ISyain syain = context.getBean(Syain.class);

		System.out.println(syain.getHello()); //Hello World!
		context.close();
	}
}

9行目は、TestConfig.classを読み込みます。
11行目は、context.getBeanでbean(インスタンス)を取得しています。変数のデータ型はインターフェースです。

2.TestConfig.java

package com.example.demo;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.example.demo")
public class TestConfig {
	
}

@Configurationは、設定クラスであることを示しています。
@ComponentScanは、対象のパッケージ配下にある@Componentが付与されたクラスを探してBeanとしてDIコンテナに登録します。

3.ISyain.java

インターフェースです。

package com.example.demo;

public interface ISyain {
	 String getHello();
}

4.Syain.java

上記インターフェースを実装しています。

package com.example.demo;

import org.springframework.stereotype.Component;

@Component
public class Syain implements ISyain {
	@Override
	public String getHello() {
		return "Hello World!";
	}
}

@Componentは、このクラスはBeanとしてDIコンテナに登録する対象であることを意味します。

pom.xml

上記で使用したpom.xmlです。

	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>5.2.9.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>5.2.9.RELEASE</version>
		</dependency>
	</dependencies>

https://spring.pleiades.io/spring-framework/docs/current/javadoc-api/overview-summary.html

関連の記事

SpringBootでhello worldを表示するサンプル
Spring5 XMLでコンストラクタを行う

△上に戻る