본문 바로가기

IT/java

Spring Legacy Project 신규 하기

반응형

대세가 Spring Boot 로 기울기 시작하다보니, Spring Legacy 를 하기가 갈수록 힘들어 지고 있다(?)

 

현재 내가 쓰고 있는 툴 및 하는 방법을 공유 하겠다.

 

1. JDK1.8 다운로드

라이센스가 나중에 발목을 잡을 수 있으니 OpenJDK1.8 을 이용함

https://github.com/ojdkbuild/ojdkbuild

 

GitHub - ojdkbuild/ojdkbuild: Community builds using source code from OpenJDK project

Community builds using source code from OpenJDK project - GitHub - ojdkbuild/ojdkbuild: Community builds using source code from OpenJDK project

github.com

2. STS4 다운로드

https://spring.io/tools

 

Spring Tools 4 is the next generation of Spring tooling

Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.

spring.io

최신버전도 상관없음

 

3. STS4 실행 후,

Eclipse MarketPlace 에서 Spring Tools 3 Add-On for Spring Tools 설치

4. Spring Legacy 프로젝트 생성

File > New > Other 

Spring 검색 > Spring Legacy Project

 

5. 설치시, 추가적인 구성요소를 설치하라고 뜨면 설치 ( Web Toolkit )

 

6. 프로젝트 생성후, 빌드오류가 계속 난다면, 기존에 설치된 메이븐 모듈 때문일 수 있으니, 메이븐 라이브러리 삭제

- 보통 사용자 폴더의 .m2 폴더를 삭제 하면 됨 ( C:\Users\{사용자ID}\.m2 )

 

------ 기본적인 프로젝트 생성 완료!

 

아무리 레거시 프로젝트지만 조금은 현대적으로 바꾸기 위해 pom.xml 을 바꿔보자

 

7. 컴파일 JDK1.8 변경 ( pom.xml )

<java-version>1.8</java-version>

...

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>

 

7.1 프로젝트 Properties > facet 검색 Java 변경

 

7.2 Compiler 지정 - 기본으로 두면 jre16 으로 되어 있으므로 JDK1.8 로 변경

 

8. 스프링 프레임워크 버전 변경

<org.springframework-version> 5.2.16.RELEASE</org.springframework-version>

 

9. Run on Server 로 최종 실행 테스트!

 

-- 최신화 완료!

 

오라클/MyBatis 추가설정 하기

 

10. pom.xml  파일 추가

<!-- Spring Framework -->

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>

 

<!-- Oracle -->
<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.3.0.0</version>
</dependency>


<!-- MyBatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.2.8</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.2.2</version>
</dependency>

 

11. root-context.xml 에 db 접속 설정 추가

	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
		<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"></property>
		<property name="username" value="DB접속ID"></property>
		<property name="password" value="DB접속암호"></property>
	</bean>
	
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="configLocation" value="classpath:/mybatis-config.xml"></property>
	</bean>

12. /src/main/resources/mybatis-config.xml 파일 추가

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

</configuration>

 

-- 드디어 먼가 할 수 있는 준비가 끝났다!

 

13. 현재 프로젝트 하면 아직 필터 설정을 안해서 첫페이지 한글이 깨진다. 

괜히 보기 싫으니 web.xml 파일에 filter 를 추가하자

 

   <filter> 
        <filter-name>encodingFilter</filter-name> 
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
        <init-param> 
           <param-name>encoding</param-name> 
           <param-value>UTF-8</param-value> 
        </init-param> 
        <init-param> 
           <param-name>forceEncoding</param-name> 
           <param-value>true</param-value> 
        </init-param> 
     </filter> 
     <filter-mapping> 
        <filter-name>encodingFilter</filter-name> 
        <url-pattern>/*</url-pattern> 
     </filter-mapping>

 

이때 web.xml 에 빨간줄이 보인다!

 

상단에

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

-> xsi:schemaLocation="http://Java.sun.com/xml/ns/javaee

 

J 만 대문자로 바꾸면 사라진다.

 

--- 여담

1. STS3 을 다운로드 받아서 해봤떠니 더이상 Spring Legacy Project 로 생성이 안된다.

2. eclipse(2021-06) 에 STS3 Tools 를 설치했는데 역시 안된다.

반응형