Expert One on J2EE Development without EJB, Rod Johnson
EJB를 사용하지 않고, 엔터프라이즈 애플리케이션 개발 방법 소개
스프링은 엔터프라이즈 애플리케이션에서 필요로 하는 기능을 제공하는 프레임워크
DI, AOP, 트랜잭션, 시큐리티 등의 기능을 제공
상대적으로(EJB) 가벼운 JavaEE 컨테이너, 기존 JavaEE 기능 다수를 제공
POJO 기반으로 작성, 테스트 및 배포가 쉬움
다른 프레임워크와의 연동 지원
설정 파일 변경만으로도 소스 수정 없이 클래스 사이의 새로운 의존 관계 설정
git bash 로 (git clone https://github.com/junkiebyte/Spring-MVC-Project.git jvx330) 프로젝트 다운
lombok (https://projectlombok.org/download) 다운로드 후, 이클립스 폴더에 붙여넣기
프롬프트에서 cd 명령어로 이클립스 경로 이동 (ex. cd C:\NCS_Kangsan\eclipse)
java -jar lombok.jar 입력
Speify location 버튼으로 eclipse.exe 파일로 선택 후 Install/Update 버튼 클릭
이클립스 마켓플레이스에서 Spring Tools 3 다운 (4는 스프링 부트)
5-2. 오류 발생 시 해당 jar 삭제 후 재설치 해주고, 종속성 오류 뜨면 여기(https://code0xff.tistory.com/131) 참고
New Project 에서 Spring Legacy Project 선택, 프로젝트 이름과 Simple Java 선택 후 Next 두번
Working sets를 프로젝트명/classes 로 변경 후 Finish 후 새 창은 Don't Create
public interface Hello {
String sayHello(String name);
}
public class HelloBeanEn implements Hello {
@Override
public String sayHello(String name) {
return "Hello " + name;
}
}
public class HelloBeanKo implements Hello {
@Override
public String sayHello(String name) {
return "안녕하세요. " + name;
}
}
<?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 name="helloBean" class="com.varxyz.jvx330.intro.HelloBeanKo" />
</beans>
public class AppMain {
public static void main(String[] args) {
String config = "com/varxyz/jvx330/intro/beans.xml"; // beans 경로
GenericApplicationContext context = new GenericXmlApplicationContext(config);
-> // beans.xml를 불러오는 컨테이너 생성
Hello hello = context.getBean("helloBean", Hello.class); // 타입이 Hello 이기 때문에 적어줌
// Hello hello = (Hello) context.getBean("helloBean"); 위와 같음
System.out.println(hello.sayHello("Spring"));
context.close();
}
}