스프링 xml의 짜증나는 점, 바로 오타가 나도 잡기가 힘들다는 것이다. 인텔리제이는 잡아주나ㅡㅡ;? 오타로 개삽질 두시간은 한듯. 오타가 있어도 빨간줄이 없으니 찾아내기 상당히 힘들다. 가능하면 xml 작성할 때는 자동완성을 쓰던가, 남이 써둔 코드를 그대로 복붙하는것이 좋다.
✅ 프로젝트 생성 및 세팅
당연히 들어가기에 앞서 이클립스에 스프링 3.0 및 그레이들 플러그인이 설치되어 있어야 한다. (설치방법은 본인 블로그에서도 찾을 수 있다.)
웹에서 게시판을 구현하는 것이 목적이기 때문에 그레이들로 생성한 프로젝트 속성에서 (프로젝트에 대고 오른쪽 마우스 > 프로퍼티스) 웹 다이나믹 프로젝트 페싯 (대충 유형이라는 뜻)을 추가해준다. 체크 후 Apply and Close
막 프로젝트를 생성하고 웹 경로에 인덱스 파일을 생성하면 경우에 따라 오류가 있을 수 있다.
javax.servlet import 오류인데 이 경우 두가지를 다시 설정해야한다.
1. 아까 속성 > 페싯으로 들어가 자바 오른쪽 창 런타임에 톰캣 체크가 안돼있다면 체크한다.
2. 프로젝트 빌드패스 > 클래스 패스 > Add Library > Server Runtime 추가
오류가 사라졌는지 확인해보자.
✅ 그레이들 디펜던시 / Junit 설정
plugins {
// Apply the java-library plugin to add support for Java Library
id 'java-library'
}
repositories {
// Use jcenter for resolving dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {
compileOnly('javax.servlet:javax.servlet-api:4.0.1');
api 'org.apache.commons:commons-math3:3.6.1'
implementation 'com.google.guava:guava:28.2-jre'
implementation 'junit:junit:4.12'
implementation group : 'org.springframework', name : 'spring-core', version : '5.3.19'
implementation group : 'org.springframework', name : 'spring-context', version : '5.3.19'
implementation group : 'org.springframework', name : 'spring-test', version : '5.3.19'
implementation group : 'org.springframework', name : 'spring-webmvc', version : '5.3.19'
implementation group : 'org.springframework', name : 'spring-jdbc', version : '5.3.19'
implementation group : 'org.springframework', name : 'spring-tx', version : '5.3.19'
compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
testCompileOnly 'org.projectlombok:lombok:1.18.24'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.24'
implementation group : 'org.apache.loggin.log4j', name : 'log4j-core', version : '2.17.2'
implementation group : 'org.apache.loggin.log4j', name : 'log4j-api', version : '2.17.2'
implementation group : 'org.apache.loggin.log4j', name : 'log4j-slf4j-impl', version : '2.17.2'
implementation group : 'jstl', name : 'jstl', version : '1.2'
implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.4'
implementation group : 'com.zaxxer', name : 'HikariCP', version : '5.0.1'
testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.0'
implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.0'
implementation 'org.mybatis:mybatis:3.5.9'
implementation 'org.mybatis:mybatis-spring:2.0.7'
implementation group: 'org.modelmapper', name: 'modelmapper', version: '3.0.0'
implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.2.1.Final'
}
내 그레이들 설정 문제인지 이상하게 Junit이 제대로 임포트가 안된다. 때문에 따로 Junit을 불러온다.
✅ 패키지 및 파일 구성
src/main/java | src/main/webapp |
📁 sample 📄 SampleDAO.java 📄 SampleService.java 📄 SampleTest.java |
📁 webapp 📁 WEB-INF 📄 root-context.xml 📄 index.jsp |
막 세팅을 마쳤으면 간단한 테스트 파일을 만들어본다. 자바쪽엔 아무것도 안들어있는 SampleDAO, SampleService 그리고 이를 테스트할 SampleTest클래스를 만든다. 코드는 아래와 같이 작성한다.
@ContextConfiguraion은 스프링 지시서를 불러오는 어노테이션이다. 경로에 맞게 스프링 지시서파일을 생성한다. 이클립스에선 이 파일을 생성하는 순간 프로젝트가 스프링 프로젝트로 변경되기때문에 그냥 xml파일을 복붙하지 말고 해당 경로에가서 스프링 지시서 파일을 직접 생성한다.
막 파일을 생성했을 땐 아래와 비슷한 상태일 것이다. <beans> 아래로 <bean> 클래스를 작성한다. 아까 생성한 샘플 클래스파일을 불러오는 내용이다.
'JAVA > Spring' 카테고리의 다른 글
마이바티스(mybatis) 매핑 매개변수(parameter) 오류 (0) | 2022.12.24 |
---|---|
이클립스 톰캣 에러 (0) | 2022.12.20 |
[Spring] 기존 MVC방식부터 스프링까지 간단한 프로젝트 생성 (3) (0) | 2022.12.17 |
[Spring] 기존 MVC방식부터 스프링까지 간단한 프로젝트 생성 (2) (0) | 2022.12.17 |
[Spring] 기존 MVC방식부터 스프링까지 간단한 프로젝트 생성 (1) (0) | 2022.12.17 |