Supersett
개발자의 하루
Supersett
Blockchain Dev
전체 방문자
오늘
어제
  • 분류 전체보기
    • 프론트
    • 회사생활
    • 블록체인
    • 프로젝트
      • 창업 프로젝트 (DRF + AWS)
      • Spring 프로젝트
    • [중앙대]멋쟁이 사자처럼
    • 기술서적
    • Problem Solving
      • 알고리즘
    • 일기장
      • 하루 정리
      • 삽질 일기
      • 조급할 때 눌러보기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 국비
  • 국비지원
  • 블록체인정보가공
  • 신입개발자
  • 구글소셜로그인
  • 멋쟁이 사자처럼
  • 디프만16기
  • Luniverse
  • 국비교육
  • 블록체인 서버설계
  • 자바스크립트
  • 멋사 중앙대
  • Multichain API
  • 취업준비
  • 자바
  • Near Scan
  • 멋쟁이 사자처럼 면접
  • 초보개발자
  • 글리치해커톤
  • DEPROMEET
  • 멋쟁이사자처럼 중앙대
  • Near Explorer
  • 면접준비
  • 비트코인
  • 해커톤
  • java
  • 컴퓨터학원
  • 프로젝트
  • 멋쟁이 사자처럼 서류
  • 니어프로토콜

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Supersett

개발자의 하루

220318  [금] Mybatis 환경설정 2 , JUnit
일기장/하루 정리

220318 [금] Mybatis 환경설정 2 , JUnit

2022. 3. 18. 13:12

▶Rest Api가 뭐지?

REST 기반으로 서비스 API를 구현한 것
최근 OpenAPI(누구나 사용할 수 있도록 공개된 API: 구글 맵, 공공 데이터 등), 마이크로 서비스(하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처) 등을 제공하는 업체 대부분은 REST API를 제공한다.

▶API(Application Programming Interface)란
데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것
출처 : https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

 

▶Spring에서의 MVC 패턴2 Annotation

Model : 컨트롤러 인터페이스를 상속받은 클래스들이 모델(요청처리)의 역할을 합니다. 이름이 xxxController.java 입니다.

View : 처리결과를 보여줍니다.

Controller : 프론트컨트롤러(Dispatcher Servlet)


[오늘의 계획]
1. 수업내용 복습

2. 파이썬 설치 → Python 3.10.3 

3. 7시반 파이널프로젝트 회의

[오늘의 공부]

@RequestMapping 어노테이션을 클래스에 선언하면 Controller 클래스의 모든 요청 처리 메소드의 요청 URL주소 앞부분에 공통적으로 포함되는 URL 주소 설정이 가능하다.

 

[Mybatis Framework에서 제공되는 로그를 Spring 로그 구현체로 기록되도록 설정하는 방법]

1. [Log4Jdbc Log4j2 JDBC 4] 라이브러리를 pom.xml 에 빌드 등록.

2. DataSource 관련 클래스를 Spring Bean으로 등록한 bean 엘리먼트에서 driverClassName 필드값과 url 필드값을 변경하여 인젝션 처리 - [root-context.xml]

ㅡ dao 관련 framework에서 발생되는 로그를 전달받아 처리하기 위해 driverClassName 필드값과 url 필드값을 라이브러리에서 제공되는 값으로 변경하여 인젝션 처리한다

3. [src/main/resources] 폴더에 log4jdbc.log4j2.properties 파일을 작성한다.

log4jdbc.spylogdelegator.name = net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

4. [src/main/resources] 폴더의 log4j.xml 파일에서 로그 이벤트에 대한 기록 설정.


[테스트 프로그램을 만들어보자]

test 폴더에 만들것이다

[Spring Framework를 이용하여 테스트 프로그램을 작성해 모듈(단위 프로그램) 테스트 하는 방법]

1. JUnit 라이브러리와 spring-test 라이브러리를 프로젝트에 빌드처리 - pom.xml

2. [src/test/resources] 폴더의 [log4j.xml] 파일 변경 - 메인프로그램의 log4j.xml 파일과는 다르다 - 기록할내용이 다름.

3. [src/test/java] 폴더에 테스트 클래스 작성 - 테스트 메소드를 이용하여 모듈 테스트 진행

 

[테스트 클래스 설정]

어노테이션을 설정할 때, scope부분을 주석처리 해놔야 @Runwith 어노테이션이 적용이 된다.

@Runwith(SpringJUnit4ClassRunner.class)

 : 테스트 메소드를 호출하여 실행하기 위한 클래스(Clazz)를 설정하는 어노테이션

ㅡ value 속성 : 테스트 메소드를 호출하기 위한 클래스(clazz)를 속성값으로 설정 - 다른 속성이 없는경우 속성값만 설정 가능.

@ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/spring/root-context.xml"})

ㅡ locations 속성 : Bean Configuration File을 배열의 요소로 지정하여 속성값으로 설정

ㅡ Bean Configuration File 경로는 file 접두사를 사용하여 파일 시스템 경로 표현

@AutoWired

ㅡ 어노테이션을 사용하여 DataSource 관련 클래스의 Spring Bean을 필드에 인젝션 처리

@Test

[서비스 클래스 설정]

@Runwith(SpringJUnit4ClassRunner.class)

@WebAppConfiguration

 : webApplicationContext 객체(spring contatiner)를 이용하여 spring bean을 관리하도록 설정하는 어노테이션

@ContextConfiguration(locations ={"file:src/main/webapp/WEB-INF/spring/root-context.xml",

                                                 "file:src/main/webapp/WEB-INF/spring/app-Servlet/servlet-context.xml"})

Logger 필드 선언

@Autowired

@Test

 

[컨트롤러 클래스 설정]

@Runwith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations ={"file:src/main/webapp/WEB-INF/spring/**/*"})

ㅡ [*] 패턴문자를 사용하여 Bean Configuration File 설정 가능

ㅡ [**] 형식으로 폴더를 표현하면 0개 이상의 하위 폴더를 표현

Logger 필드 선언

@Autowired

WebApplicationContext 필드 선언

ㅡ WebApplicationContext : SpringMVC(웹프로그램)에서 사용하는 Spring Container 객체

MockMvc 필드 선언

ㅡ MockMvc : 요청과 응답을 가상으로 제공하기 위한 클래스

@Before

: 테스트 메소드 호출 전 실행될 명령을 작성한 메소드에 설정하는 어노테이션 - 초기화 작업 전

 


▶이런식으로 요청url 주소로 이동하게끔 <c: > 사용하면 된다.

 

 

 

 

'일기장 > 하루 정리' 카테고리의 다른 글

220321 [월] Transaction Manager , REST  (0) 2022.03.21
220319 [토] 폴더,파일 정리 / 부트스트랩 마무리를 향해..  (2) 2022.03.19
220317 [목] Tiles (Template Page), Mybatis 환경설정  (2) 2022.03.17
220316 [수] OT , @ModelAttribute , @SessionAttribute  (0) 2022.03.16
220315 [화] Annotation MVC 설정  (0) 2022.03.15
    '일기장/하루 정리' 카테고리의 다른 글
    • 220321 [월] Transaction Manager , REST
    • 220319 [토] 폴더,파일 정리 / 부트스트랩 마무리를 향해..
    • 220317 [목] Tiles (Template Page), Mybatis 환경설정
    • 220316 [수] OT , @ModelAttribute , @SessionAttribute
    Supersett
    Supersett
    하루를 돌아보고 공부한 티를 내기 위해 블로그를 만들었습니다.

    티스토리툴바