이제 왼쪽 package explorer 에서 마우스 오른쪽버튼 누르고 new로 spring legacy project누르고
templates 에서 spring mvc프로젝트 선택후 넥스트 누르고 proceed 클릭
만약 spring mvc 프로젝트가 안뜨면 configures 누르고 defaults 빼고 나머지 다 삭제 후
이클립스 리스타트
그리고 계속 넥스트 하고 org.conan.controller 치고 피니쉬!
그럼 뭐가 막 다운받아지구 끝나면 pom.xml을 연다
구글에다가 maven repository를 검색한다
홈페이지들어가기
spring context 검색하여 5.2.19.RELEASE 를 클릭 (복붙하는거임)
그 후 POM.XML의 3.1.1 검색해서(properties를 바꾸는것) springframework-version을
5.2.19.RELEASE로 바꾸고
자바버전도 11로 바꿈
mySpring 프로젝트폴더 properties - facet 에서 webmodule 은 4.0 , 자바는 11로 바꾸고,
오른쪽 옆에 런타임 누르고 tomcat9.0을 체크 해줌 그리고 어플라이!
그리고 플젝폴더 RUN AS - 런온서버 해봐
안되면 톰캣을 클릭하고 런온서버
그다음 다시 pom.xml로 와서
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
이렇게 버전이랑 source, target 을 바꿔줌
lombok 치고 projectlombok이라고 뜨는 홈페이지 가서
맨 오른쪽 get lombok for enterprise 누르고 download 탭 누르고 다운받기
글구 그거 열기
그담에 머 안됐다 어쩌구 뜨면
specify 버튼 눌러서 이클립스 설치된 폴더에가가지구 eclipse.exe까지 경로에넣어주기
install successful 뜨면 이클립스 설치된 폴더로 ㄱㅏ서 lombok.jar가 잇는지 확인하기
mavenrepository 홈페이지간담에 lombok 치고 우리가 다운받은 1.18.22 버전 클릭하고
코드긁기
그다음 그거 pom.xml에 갖다붙이기(dependencies 태그 안 에다가 붙여~ 의존성)
mavenrepository 홈페이지간담에 spring test 치고
Spring TestContext Framework 들어간다음 5.2.19.realese 눌러서 코드복사후 pom.xml에 복붙
잘 안되면 1.18.22를 숫자지우고
${org.springframework-version}을 넣어주는경우도잇음
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>를
4.13으로수정
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
를 1.2.17로 수정
바뀔때마다 pom.xml이 무사한지 확인(빨간줄 잇는지)
그리구 org.conan.sample 만들고 class 생성 Chef, Restaurant
chef.java에서
@Component
@Data 치고
import 함
Restaurant.java에서
@Component
@Data 치고
import 함
그다음 public class 안에다가 @Setter(onMethod_=@Autowired)
private Chef chef;
치셈 빨간줄나면
ini파일 고쳐야함
ini파일 고치려면
https://journeytosth.tistory.com/157?category=445324 이거 보고 하기
안되면 걍 import 지워보라능 ㅎ
web-if의 root-context.xml의 밑의 탭 namespace에 가서 context 에 체크후
다시 source로 와서 저장
그 후 beans 태그안에
<context:component-scan base-package="org.conan.sample"></context:component-scan>
추가
추가후 밑의 탭의 beans graph 누르기
긜고 restaurant랑 chef만들어져있는지보기
src/test/java 에다가
org.conan.test 패키지 만든 후에 RestaurantTest.java 클래스 만들기
그 후
import static org.junit.Assert.assertNotNull;
import org.conan.sample.Restaurant;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import lombok.Setter;
import lombok.extern.log4j.Log4j;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@Log4j
public class RestaurantTest {
@Setter(onMethod_={@Autowired})
private Restaurant restaurant;
@Test
public void testExist() {
//있는지 없는지 확인
assertNotNull(restaurant);
//null인지 확인하기
log.info(restaurant);
log.info("---------------------");
log.info(restaurant.getChef());
}
}
이거 치는데 안되면 프로젝트 폴더 우클릭 maven- updateProject 클릭 하면 잘됨
임포트 ctrl+shift+o로 계속 해주기
참고로 @ContextConfiguration("file:src에다가는 root-context에서 우클릭 하고 copy quailfied name
해서 가져온 경로 복붙하면됨 그 결과가 이거임
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
ppt 단일생성자의 묵시적 자동주입부터 ㄱㄱ
mybatis 3.5.9랑 mybatis spring 2.0.6 maven repository 에서 다운받아서 pom.xml에 복붙 ㄱㄱ
spring transaction 5.2.19.release 도 pom.xml에 복붙 ㄱㄱ
spring-jdbc 5.2.19.relaease도 pom.xml에 복붙 ㄱㄱ
<bean id="sqlSessionFactory"
class= "org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property></bean>
를 root-context.xml에 복사
dataSourceTest.java에 가서(ppt MyBatis와 스프링연동 페이지 참조)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@Log4j
public class DataSourceTest {
@Setter(onMethod_= {@Autowired})
private DataSource ds;
@Setter(onMethod_= {@Autowired})
private SqlSessionFactory sqlSessionFactory;
@Test
public void testConnection() {
try(Connection con=ds.getConnection()){
log.info(con);
}catch(Exception e) { fail(e.getMessage());}
}
@Test
public void testMyBatis() {
try(SqlSession session = sqlSessionFactory.openSession();
Connection con = session.getConnection();){
log.info(session); log.info(con);
}catch(Exception e) { fail(e.getMessage());
}
}
}
다 지우고 복붙
ppt 보면서 ㄱㄱ(ppt에 path건드는 부분 나올때까지)
서버 web module 에서 path를 /로 바꾼다음 프로젝트폴더 우클릭 properties - web project settings
가서 context를 /로 바꿔주셈
ppt 패러미터 수집부분 ppt사진 보기전에 메모장부터 보기
SampleController.java를 org.conan.controller 안에 만든다
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@GetMapping("/ex01")
public String ex01(SampleDTO dto) {
log.info(""+dto);
return "ex01";
}
}
이거복붙
그다음 log에서 오류나면 pom.xml에 가서 runtime 주석처리하기!!***