프로그램의 버전 정보를 출력하는 기능을 추가하며 기본 데이터 값을 설정하는 예제를 수행하겠다.
📌 순서
- VersionPrinter.java 작성하기
- AppCtx에 값 타입 관련 설정 추가하기
- MainForSpring 클래스에 VersionPrinter 관련 코드 추가하기
버전 정보를 출력하기 위해 spring패키지에 VersionPrinter.java를 작성한다.
VersionPrinter.java✏️
package spring; public class VersionPrinter { private int majorVersion; private int minorVersion; public void print() { System.out.printf("이 프로그램의 버전은 %d.%d 입니다.\n\n", majorVersion, minorVersion); } public void setMajorVersion(int majorVersion) { this.majorVersion = majorVersion; } public void setMinorVersion(int minorVersion) { this.minorVersion = minorVersion; } }
VersionPrinter 클래스는 세터 메서드로 int 타입 값을 전달받고 print() 메서드를 통해 버전 정보를 콘솔에 출력한다.
AppCtx.java 에 설정 추가✏️
빈 객체를 추가하고 값을 설정하기 위해 AppCtx 클래스를 수정하겠다.
package config; ...생략... import spring VersionPrinter ...생략... @Configuration public class AppCtx { ...생략... @Bean public VersionPrinter versionPrinter() { VersionPrinter versionPrinter = new VersionPrinter(); versionPrinter.setMajorVersion(0); versionPrinter.setMinorVersion(1); return versionPrinter; } }
예시로 MajorVersion은 0으로, MinorVersion은 1로 설정했다.
MainForSpring.java
이제 빈 객체를 사용하기 위해 메인 MainForSpring 클래스를 수정한다.
package main; ...생략... import spring.VersionPrinter; ...생략... public class MainForSpring { private static ApplicationContext ctx = null; public static void main(String[] args) throws IOException { ctx = new AnnotationConfigApplicationContext(AppCtx.class); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while (true) { System.out.println("명령어를 입력하세요: "); String command = reader.readLine(); if (command.equalsIgnoreCase("exit")) { System.out.print("종료합니다."); break; } if (command.startsWith("new ")) { processNewCommand(command.split(" ")); continue; } else if (command.startsWith("change ")) { processChangeCommand(command.split(" ")); continue; } else if (command.startsWith("list")) { processListCommand(); continue; } else if (command.startsWith("info ")) { processInfoCommand(command.split(" ")); continue; } else if (command.startsWith("version")) { processVersionCommand(); continue; } printHelp(); } } ... 생략... private static void processVersionCommand() { VersionPrinter versionPrinter = ctx.getBean("versionPrinter", VersionPrinter.class); versionPrinter.print(); } }
이제 MainForSpring을 실행해보자.
명령어를 입력하세요: version 이 프로그램의 버전은 0.1 입니다. 명령어를 입력하세요:
정상적으로 프로그램 버전 정보가 출력되는 것을 확인할 수 있다.
- 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 | 최범균님 저