Spring 맛보기를 위해서 Calculator 를 만들어 보자.
Simple Spring Maven 으로 새 프로젝트를 생성
Calculator 클래스 생성
이 클래스는 우리가 직접 작성하지만
기존에 만들어져서 제공된 클래스라고 가정 하자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package com.aristatait.spring; public class Calculator { //기존에 제공하고 있는 클래스 라고 가정 private int firstNum; private int secondNum; ////user custom method ///////////////////////// public void add(int f, int s){ System.out.println("add() 실행됨"); System.out.println(f + " + " + s + " = " + (f+s)); } ////Getter Setter ///////////////////////////// public int getFirstNum() { return firstNum; } public void setFirstNum(int firstNum) { this.firstNum = firstNum; } public int getSecondNum() { return secondNum; } public void setSecondNum(int secondNum) { this.secondNum = secondNum; } } | cs |
우리는 이 Calculator 클래스를 가공하여 MyCalculator 클래스를 만들었다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | package com.aristatait.spring; public class MyCalculator { private Calculator calculator; private int firstNum; private int secondNum; //////// User custom method ////////////////////// public void add(){ calculator.add(firstNum, secondNum); } //////// Getter Setter ////////////////////// public Calculator getCalculator() { return calculator; } public void setCalculator(Calculator calculator) { this.calculator = calculator; } public int getFirstNum() { return firstNum; } public void setFirstNum(int firstNum) { this.firstNum = firstNum; } public int getSecondNum() { return secondNum; } public void setSecondNum(int secondNum) { this.secondNum = secondNum; } //////////////////////////////////////////////////// } | cs |
이 클래스에서는 기존에 제공된 Calculator 의 메소드를 사용하는 메소드를 가지고 있다.
일단 메인 클래스도 만들어 놓고
위와 같이 리소스 폴더에 우클릭 -> new -> Spring Bean Configuration File 을 선택
만들어주면
위와 같이 xml 소스가 자동으로 입력된다.
오버뷰를 선택해서
뉴 빈을 선택한다.
id 를 입력하고 Browse 를 클릭하여
MyCalculator 클래스를 불러온다.
finish!
이런 방법으로 bean 을 만들 수 있다.
물론 직접 코딩해도 된다.
위와 같이 bean 을 입력한다.
이제 메인을 완성 하고, 실행해 보면 콘솔창에 계산 결과가 표시된다.
지금까지 한 내용이 뭐지 싶을꺼다.
우리가 자바에서 위와 같은 프로그램을 코딩했다면
객체를 생성하기 위해 new를 사용하였을 것이다.
하지만 스프링에서는 xml에 bean 을 등록하는 행위가
객체를 생성하는 것을 대신한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?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="calculator" class="com.aristatait.spring.Calculator"></bean> <bean id="myCalculator" class="com.aristatait.spring.MyCalculator"> <property name="calculator"> <ref bean="calculator"/> </property> <property name="firstNum" value="10"></property> <property name="secondNum" value="2"></property> </bean> </beans> | cs |
위의 xml 에서 property 들은 각 클래스의 변수임을 알 수 있다.
1 2 3 4 | String configLoc = "classpath:applicationCTX.xml"; AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLoc); MyCalculator myCalculator = ctx.getBean("myCalculator", MyCalculator.class); | cs |
메인에서 이 xml 파일을 연결시켜주면 된다.
'Spring > Spring 수업' 카테고리의 다른 글
Spring 07. MyBatis 연결 설정하기 (3) | 2016.09.08 |
---|---|
Spring 06. 스프링 맛보기 2 Student (0) | 2016.09.08 |
Spring 04. MySQL 설정과 Spring 테스트 (0) | 2016.09.07 |
Spring 03. Tomcat 8 설치 및 사용 (0) | 2016.09.07 |
Spring 02. STS 새 프로젝트 만들기 (1) | 2016.09.06 |