반응형
스프링 프레임워크
자바 코드 작성 부분을 줄일 수 있는 효과를 얻을 수 있습니다. 하지만 초기 프로젝트 세팅이 다소 복잡하므로 충분한 연습이 필요합니다. 스프링 프레임 워크 사용은 xml을 이용하는 방법과 자바 어노테이션을 이용하는 방법 두가지로 구분할 수 있습니다.
Maven
자바 프로젝트의 빌드를 자동으로 해주는 도구입니다. 개발자가 xml에 작성한 프로젝트 정보를 토대로 컴파일하고 라이브러리를 연결하는 등의 작업을 해주는 도구입니다. Maven 서버를 통해 라이브러리를 다운받아 설정하는 작업도 수행합니다.
beans.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='hello' class='kr.co.softcampus.beans.HelloWorldEn'/> -->
<bean id='hello' class='kr.co.softcampus.beans.HelloWorldKo'/>
</beans>
HelloWorld
package kr.co.softcampus.beans;
public interface HelloWorld {
public void sayHello();
}
HelloWorldEn
package kr.co.softcampus.beans;
public class HelloWorldEn implements HelloWorld{
@Override
public void sayHello() {
// TODO Auto-generated method stub
System.out.println("HI~~");
}
}
HelloWorldKo
package kr.co.softcampus.beans;
public class HelloWorldKo implements HelloWorld{
@Override
public void sayHello() {
// TODO Auto-generated method stub
System.out.println("안녕하세요");
}
}
MainClass
package kr.co.softcampus.main;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import kr.co.softcampus.beans.HelloWorld;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
// beans.xml 파일을 로딩한다.
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("kr/co/softcampus/config/beans.xml");
// xml에 정의한 bean 객체의 주소값을 가져온다.
HelloWorld hello1 = (HelloWorld)ctx.getBean("hello");
callMethod(hello1);
HelloWorld hello2 = ctx.getBean("hello", HelloWorld.class);
callMethod(hello2);
ctx.close();
}
public static void callMethod(HelloWorld hello) {
hello.sayHello();
}
}
Bean 내용을 변경함으로써, 코드를 수정하지 않고도, 동작을 변경할 수 있다는 것을 배워보았습니다. 시스템이 매우 커지게된다면, 클래스를 수정하면, 매우 많은 코드를 수정해야만 하였습니다. 하지만 이런 스프링 프레임워크를 사용한다면, 이러한 과정을 줄일 수 있다는 것을 알게 되었습니다. 스프링프레임워크가 왜 나오게 되었고, 이 구조가 어떻게 동작하는 지에 대해 알 수 있는 좋은 시간이었습니다.
반응형
'SW > Java' 카테고리의 다른 글
Java : Spring: Bean 생성, 소멸 시 메소드 호출 방법 : 예제, 구현 (0) | 2020.04.14 |
---|---|
Java : Spring: bean : 객체 생성, 태그 : 개념, 예제, 구현 (0) | 2020.04.13 |
Java: Spring : IoC 개념 : ApplicationContext, BeanFactory : 예제, 구현 (0) | 2020.04.12 |
Java : Spring Boot : Jar, Maven, Gradle : 배포하는 방법, 예제 (0) | 2020.03.05 |
Java : Spring : 개념, 개요, 특징 (0) | 2020.02.14 |