Spring legacy Project를 빌드할 때, 메이븐 또는 그레이들의 도움을 받아 프로젝트를 빌드하도록 하겠습니다.
(그렇지 않으면 프로젝트에 import하는 라이브러리를 직접 다운받아 프로젝트 디렉토리내에서 관리해야 하는 번거러움이 발생합니다)
이제 Spring Tool 3 (Standalone Edition)을 Spring Tool 4에서 더 이상 사용할 수 없습니다.
https://marketplace.eclipse.org/content/spring-tools-3-standalone-edition?mpc=true&mpc_state=
Spring Tools 3 (Standalone Edition)
Spring Tools 3 (Standalone Edition) Attention - End of life: The Spring Tools 3 are no longer maintained and no longer updated for newer Eclipse versions. Please upgrade to Spring Tools 4 for Eclipse. The Spring Tools 3 contain the previous generation Spri
marketplace.eclipse.org
또한 Spring Tools 3 Add-On도 Spring Tool 4에서 더 이상 사용할 수 없습니다.
https://marketplace.eclipse.org/content/spring-tools-3-add-spring-tools-4
Spring Tools 3 Add-On for Spring Tools 4
Spring Tools 3 Add-On for Spring Tools 4 End of life: This Spring Tools 3 Add-On for Spring Tools 4 is no longer maintained or updated. The final and last release is 3.9.22, which corresponds to the Spring Tools 4.14.1 release for Eclipse 2022-03. There wi
marketplace.eclipse.org
그래서 Spring Boot를 공부하기 위해 선수과목인 Spring legacy(이하 프레임웍)을 공부하기 위해 STS 3 3.9.18.RELEASE을 설치해서 사용하시길 바랍니다.
설치한 STS3를 실행시킵니다.
위 그림처럼 File -> New -> Spring Legacy Project를 선택해서 프로젝트를 생성하지 않고 아래 그림처럼 Java Project를 선택해서 프로젝트를 생성합니다.
(개인적으로 Java Project를 생성한 후, 이 프로젝트를 메이븐 또는 그레이들 빌드 프로젝트로 변환한 후, Spring 프레임웍을 Java Project 위에 올려 사용하는 것을 선호합니다. 다른 뜻은 없습니다)
아래 그림처럼 프로젝트 이름을 설정하고 Next 버튼을 선택한다.
Finish 버튼을 선택합니다.
모듈 정보는 생성할 필요가 없으므로 Don't Create 버튼을 선택해서 프로젝트 생성을 완료합니다.
Package Explorer 에서 방금 생성한 프로젝트를 다음과 같이 확인할 수 있습니다.
다음과 같은 import 문제가 발생할 수 있습니다
프로젝트 생성시, 만약 모듈 정보 생성을 선택하였다면,
module-info.java가 생성됨으로 인해 위와 같이 import 에러 문제가 발생할 수 있습니다.
해결 방안은 일단, module-info.java를 삭제합니다.
아래의 이미지처럼 해결되었음을 확인할 수 있습니다
다음 스텝은 이 프로젝트를 Maven 프로젝트로 변경합니다.
아래 그림처럼 Configure -> Convert to Maven Project 을 선택합니다
아래 그림처럼 메이븐 프로젝트로 변경되었습니다.
메이븐 프로젝트로 변경되었기 때문에 pom.xml 파일이 자동으로 생성되었습니다.
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SpringLegacyProject</groupId>
<artifactId>SpringLegacyProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
</project>
메이븐 프로젝트로 변경되었기 때문에 아래 그림처럼 Maven -> Update Project ... 아이템을 선택해서 프로젝트를 필히 업데이트해야 합니다.
프로젝트를 실행하기 위해 static main 메소드를 멤버 메소드를 가지는 클래스(클래스 이름:Program)를 생성하겠습니다.
Program 클래스를 생성하기 위해 아래 그림처럼 New -> Class 아이템을 선택합니다.
아래 그림처럼 Package, Name을 설정하고 public static void main 체크박스를 선택한 후, Finish 버튼을 선택합니다.
Program.java 파일이 생성된 것을 확인할 수 있습니다.
또한 Program.java 파일에 다음과 같이 static main 메소드를 가지고 있는 Program 클래스가 정의된 것을 확인할 수 있습니다.
package com.kitec.spring.legacy;
public class Program {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
이후, Spring IoC 컨테이너 공부와 실습을 위해 Spring Core를 메이븐 레파지토리에서 다운받도록 하겠습니다.
https://mvnrepository.com/artifact/org.springframework/spring-core/5.0.20.RELEASE
pom.xml 파일에 다음 xml 코드를 추가하도록 하겠습니다.
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.20.RELEASE</version>
</dependency>
추가된 pom.xml 파일의 전체 xml 코드입니다.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SpringLegacyProject</groupId>
<artifactId>SpringLegacyProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.20.RELEASE</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
</project>
그리고 다음과 같이 Program 클래스의 main 메소드에 코드를 추가하도록 하겠습니다.
package com.kitec.spring.legacy;
public class Program {
public static void main(String[] args) {
// 추가된 코드
System.out.println("Hello World");
}
}
자동 빌드가 설정되어 있다면 별도로 빌드하지 않아도 됩니다.
프로젝트를 실행해 봅니다.
콘솔에 Hello World 스트링이 출력된 것을 알 수 있습니다.
'Spring Framework' 카테고리의 다른 글
OCP(Open-Closed Principle) (0) | 2024.04.09 |
---|---|
Spring Resource (0) | 2024.04.09 |
서비스 추상화와 트랜잭션 (0) | 2024.04.08 |
Jdbc Template (0) | 2024.04.08 |
템플릿 메서드 패턴 & 콜백 패턴 (0) | 2024.04.08 |