본문 바로가기
IT/Spring

[Spring/eGov] #4 스프링 Sample 기본 예제 프로젝트, 패키지 이름 바꾸기 / 파일 찾기

by 외장_하드 2020. 5. 23.
반응형

 

https://extsdd.tistory.com/99

 

[Spring/eGov] #3 스프링 기본 구조 / Sample 예제 프로젝트 분석 / 원리 / 전자정부프레임워크 / 컨트롤�

 

extsdd.tistory.com

 

  저번시간에 기본적인 스프링 프로젝트가 어떤식으로 돌아가는지 알아보았다. 막판에 카페 닫을시간이 되서 급히 마무리한 감이있는데, 오늘도 열심히 진도를 빼보자!

 

  오늘 해볼일은 바로 전자정부 예제로 들어있는 Sample 예제 프로젝트를 내 프로젝트로 바꿔보려고 한다. 이게 무슨말이냐고!? 자 우리가 셈플 프로젝트를 생성하면 패키지 디렉토리의 이름들이 egovframework.example 로 되어있고, 이름들이 sample 머시기로 되어있으니까 아무리 생각해도 간지가 안난다. 내 프로젝트는 따로 이름이 있다고!!

 

  그럼 아예 너껄로 새로 만들면 되잖아 ㅡㅡ! 라고 생각할 수 있지만... 그건 ..싫다.. 왜냐하면.. 기본예제에 셋팅이 너무 잘되어 있기 때문이다... DB를 읽어오는 MYBATIS, IBATIS등.. 이미 유용한 라이브러리들도 연동이 되어있기 떄문에 아예 깡통에서 시작해서 이것들을 추가하느니 그냥 샘플 예제의 이름만 내껄로 바꾸는게 이득이라고 판단했기 때문이다. 그럼 시작해보자

 

1. 패키지 디렉토리 수정

 

 

 

 

  자 먼저 패키지 익스플로어에서 1번 화살표를누르고 2번 package Presentation 버튼을 눌러준다. 나는 보통 하이어라키 타입을 쓰는데 디렉토리 수정을 위해서 Flat으로 바꿔주자!

 

 

 

  자 우리가 바꿀 패키지들은 1번 박스에 있는 총 5개를 바꿔야 한다. 보면 알겠지만 egovframework.example 이부분이 기본 예제이름으로 박힌 것 같고 나머지 cmmn 은 공통기능이니까 놔두고 sample은 샘플 기능으로 넣은것이니 저 패키지 명도 바꿔주도록 하자!

 

  - egoveframework.example → cpservice (자기 프로젝트 이름)

  - egoveframework.example.sample → fwd (기능 집합 이름) (fwd = forwarding 기능들의 집합)

 

  나는 저렇게 바꾸려고 한다. 내가 시험으로 만들 서비스 이름은 내 서버로 요청이 들어오면 그걸 다른 인터넷 URL로 포워딩 해주는 기능이기 때문이다. 바꿀 명칭은 3번 박스에 넣고 4번 OK를 눌러 명칭들을 바꿔주자 5개 다 바꿔주면 된다.

 

 

  짜잔~ 바꾸면 이렇게 될 것이다 ㅎㅎ

 

2. base-package 명 변경

 

  자. 이제 두번째로 할 것은 바로 base package명을 바꿔주는 것이다. 이게머냐면, 어떤 패키지 디렉토리들에서 컨트롤러 파일들을 읽어올 것이냐는 것이다 ! 이해가 됐으려나..!? 어려운건 없어보이는데..? 말로만 하면 모르니 파일을 보면서 다시보자

 

  먼저 알아야할게 있다. 앞으로 가장 많이 쓸 단축키인데 우리 프로젝트 소스상 특정 텍스트를 검색하는 기능이다.

파일 검색 : Ctrl+ H

 

 

 

  자 컨트롤키와 H를 눌러보자. 위 창이 뜨는데 1번에 파일 서치 탭에 들어가보자. 아마 처음 하시는 분들은 여러가지 탭이 뜰텐데 나는 나머지 탭은 많이 안써서 다 꺼놓은 상태이다. 아무튼 File Search탭에 들어가고 2번에는 검색할 스트링을 입력하는 공간이다. 그리고 3번은 확장자인데 *이 입력되어있으면 전체라는 뜻이다. 머 화면단에서만 찾고싶으면 *.js, *.jsp, *.html 등으로 검색하는 확장자를 제한할 수 있다. 우린 소스 규모가 크지 않으니 걍 *로 둬도된다. 나중에 검색 시간이 너무오래걸리면 줄여주도록하고, 마지막 4번을 누르면 검색된당. 검색해보자!

<context:component

  위 텍스트를 복사해서 2번 항목에 넣고 검색을 돌려보자

 

 

  뚜둔! 하단을 보면 검색 결과가 나왔다! 1번 박스를 보니 프로젝트 내에서 모두 2건이 검색됐당!! 2번 박스를 눌러 다 펼쳐보자. 그럼 context-common.xml과 dispatcher-servlet.xml 두파일에서 해당 텍스트가 발견됐다. 두 파일 모두 바꿔줘야하는데 먼저 3-1을 더블 클릭 해보자.

 

 

  처음 열어보면 base-package가 egovframework만 있을텐데 그 앞에 아까 자기가 정했던 패키지 이름을 추가해주고 쉼표를 찍어준다. 나는 패키지 이름의 맨 앞을 cpservice라고 변경했기때문에 cpservice, 을 삽입했다. 그리고 컨트롤+S를 눌러 저장해준다.

 

  이 문서에는 프로젝트에서 공통으로 사용하는 기능들을 객체로 만들어 놓는 곳인데, 그중에 컨트롤러를 긁어오는 친구도 저 우리가 바꾼 beans 에 설정을 해놓기 때문에 바꾸는 것이다. beans이란 일단 간단하게 객체정도로 알고 있으면 된다.

 

 

  자 다시 나머지 하나 3-2번 박스를 더블클릭 눌러 dispatcher-servlet.xml을 열어준다. 수정하는 방법은 똑같아. 자신 패키지, 을 추가해준다.

 

  이 dispatcher-servlet.xml은 사용자의 요청이 들어왔을때 이걸 어떤놈한테 떤져줄지에대한 정보를 정의해 놓는곳이라, 여기에도 우리의 새로운 패키지를 인식시켜놔야 그 패키지의 컨트롤러를 인식한다.

3. 참조 패키지 디렉토리명 일괄 변경

 

자. 큰 설정은 끝났는데, 이미 소스코드상에서 기존에 있던 패키지명을 참조하는 부분도 있을것 아닌가? 그부분을 한방에 바꿔주기 위해서 서치기능인 컨트롤+H버튼을 눌러보자!

egovframework.example.sample

 

  자 위에 검색어를 입력하고 2번 박스에 있는 Replace를 눌러보자! 그럼 창이 또 뜨는데 With칸에 아까 우리가 위에서 변경했던 패키지 명을 참조해 자신 프로젝트명.기능명으로 바꿔보자!

 

 

egovframework.example

 

  이번엔 이거를 바꾸자 이건 프로젝트명으로만 바꾸면된다. 참고로 위에 바꾼거하고 순서가 바뀌면 안된다!

4.확인

 

 

 

  자 서버를 실행시켜야 하는데, 뭐 저번에 잘 따라왔다면 잘 알겠지만 까먹었을 분들을 위해서 새로 캡쳐해왔다. 하단에 서버탭에 들어가 실행하려는 서버를 클릭하고 재생버튼을 누르면 된다.

 

 

  그럼 Console들이 이렇게 쭉 찍히고 다 완료되면 하단에 빨간줄이 몇줄 찍힌다. 그리고 서버탭에 톰캣의 상태가 Started상태로 변하기도한다. 서버 부팅을 완료했으면 자기 로컬 서버에 들어가보자.

 

http://localhost:8080

 

접속!

 

 

 

  이상 없이 빌드된 것을 볼 수 있다. ㅎㅎ다음시간엔 진짜 기능을 만들어보도록 하자!

 

#스프링 #Spring #전자정부프레임워크 #기본예제 #Sample #프로젝트 #이름 #패키지 #바꾸기 #파일 찾기 #샘플

 

 

 

반응형

댓글4

  • 쿠거 2020.12.02 09:16

    안녕하세요. 선생님의 포스팅을 보고 웹프로젝트를 실습하고 있는데요.

    [Spring/eGov] #4 스프링 Sample 기본 예제 프로젝트, 패키지 이름 바꾸기 / 파일 찾기
    3. 참조 패키지 디렉토리명 일괄 변경 부분이 그림/내용 등 뭔가 빠진듯 합니다.
    포스팅과 똑같이 cpservice로 그대로 따라 했습니다.
    컨트롤+H 로 egovframework.example 서치시 8개정도가 나오는데 포스팅 자료는 1개 나오고
    그리고
    egovframework.example.sample => 프로젝트명.기능명
    egovframework.example => 프로젝트명
    위의 두가지도 우측 replace 할 값을 cpservice 기준으로 명시 부탁 드립니다.
    상단의 5개 패키지명 수정시 처럼...
    암튼 감사히 잘 공부하고 있습니다만 수정 부탁 드립니다.
    수정후 가능하시면 LNIJHOR@hanmail.net 으로 회신한번 주시면 감사하겠습니다.
    금번 실습 프로젝트를 기본으로 ajax, jquery 등등 살을 붙여가면서 실습 예정입니다.

    답글

    • 동글 2020.12.30 16:38

      저도 맨처음에 그대로 했다가 안되서 서치된 8개 항목들 하나하나 고쳤는데 패키지명 똑같이 하셨으면 egovfreamework.sample까지 지우시고cpservice.fwd 붙여넣으면 되더라구여

    • WJ.Lee 2021.11.23 16:18 신고

      저 부분을 보면서 실수할 수 있겠구나... 라고 생각했습니다.
      위에서 수정한 것 처럼
      egovframework.example.sample
      => cpservice.fwd

      egovframework.example
      => cpservice

      로 replace 하시면 됩니다.

  • 저는 2021.12.24 12:12

    저는 cpservice.sample 이런식으로 되어있어서 cpservice.fwd로 바꿔주니깐 되네요
    답글