「Spring 5.3.21」applicationContext.xmlでhello worldを表示するサンプル

環境
Spring 5.3.21
Java 17
Eclipse IDE 2022-06 M2 (4.24.0 M2)

操作方法

1.pom.xmlに依存関係spring 5.3.21のjarをインストールします
以下の内容を編集します

	<dependencies>
          <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
          <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.3.21</version>
          </dependency>
    </dependencies>

2.src\main\resources\applicationContext.xml
以下の内容を編集します。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">

      <bean id="testUser" class="com.arkgame.study.UserService"></bean>
</beans>

3.Beanクラスの作成

package com.arkgame.study;

public class UserService {

      // nameを返す
      public String getName() {
            return "yamada";
      }

      // ageを返す
      public int getAge() {
            return 25;
      }
}

4.起動ファイル(TestApp.java)

package com.arkgame.study;

import org.springframework.beans.BeansException;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestApp {

      public static void main(String[] args) {

            // applicationContext.xmlを読み込む
            try (ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml")) {
                  // DIコンテナからbeanインスタンスを取得
                  UserService user = (UserService) context.getBean("testUser");

                  System.out.println("年齢: " + user.getAge());
                  System.out.println("名前: " + user.getName());
            } catch (BeansException e) {
                  e.printStackTrace();
            }

      }

}

5.動作確認
「TestApp.java」を右クリックして実行(R)->「Javaアプリケーション」をクリックします。
「年齢: 25」と「名前: yamada」が表示されます。

Spring Web Services

Posted by arkgame