🏫 Open API_JAVA

[71일차] JSON / 롬복 라이브러리 / 의존성 주입 / Spring-Test / MyBatis xml 파일 사용하기

Dorothy_YANG 2022. 11. 4. 09:35
728x90

20221103(목)

  • 목차 
    - JSON
    - 롬복 라이브러리
    - 의존성 주입 (Dependency Injection)
    - Spring-Test 
    - MyBatis xml 파일 사용하기

< JSON >

  • JSON : JavaScript Object Notation

 

 

  • 특징 : 큰 따옴표로 묶어주기
    JSON.parse (json문자열) ➡ javascript object 변환

출처 : W3Schools

 


< 롬복 라이브러리 >

 

[Eclipse에 롬복 설치] 롬복 다운로드 및 설치

롬복이란? Java의 라이브러리로 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해주는 라이브러리 1. 롬복 다운로드 아래 링크로 들어가서 https://projectlombok.org/download Download projectlombok.org

dorothy-yang.tistory.com

 

  • 롬복 라이브러리가 pom.xml에 추가되었다면, 어노테이션 적용이 잘 된다 :)
package com.demo.domain;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;


// 어노테이션을 클래스로 설계되어 있다.
@Getter
@Setter
@ToString
public class UserVO {

	private String userID;
	private String passwd;
}

 

ex) 실제 코드 창에서 어노테이션 된 상황을 확인할 수 있다.

      즉, 코드를 만든 것은 아니나, eclipse 내에 세팅해주면 코드 사용이 가능하다!!!

 


< 의존성 주입 (Dependency Injection) >

  • 의존성 : 하나의 객체가 다른 객체의 상태에 따라 영향을 받는 것
  • 의존성 주입 : A가 B가 필요하다는 신호만 보내고, B 객체를 주입하는 것은 외부에서 이루어지는 방식

➡ 스프링은 이러한 구조를 만드는 데 적합한 구조로 설계되어 있다.
➡ ApplicationContext라는 존재가 필요한 객체들을 생성하고, 필요한 객체들을 주입하는 역할을 해 준다.
➡ 객체와 객체를 분리해 생성하고 이러한 객체들을 엮는(wiring) 작업을 하는 형태로 개발한다.

 


< Spring-Test > 

  • jUnit
    : 전체 프로젝트(특히 WAS)를 구동하지 않고 단위 코드 테스트를 할 수 있게 해주는 라이브러리
  • 단위 테스트란?
    :  응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트

  • 단위테스트 하는 방법
    (1) 파일 선택 후 우클릭 ➡ Run As ➡ JUnit Test


  (2) JUnit 창 확인 후 아래 콘솔 창 내용 확인하기


< MyBatis xml 파일 사용하기 >

 

  • 라이브러리 클래스를 사용
    - 일반적으로는 root-Context.xml에 xml문법으로 bean 생성하여 사용
    - 자바파일에서 클래스를 직접 사용

  • mybatis에서 사용하는 xml 파일
    - xml mapper 파일 - sql구문을 삽입되는 파일
    - xml configuration 파일 - mybatis 설정구문이 삽입되는 파일

(1) Help 탭 ➡ Eclipse Marketplace


(2) MyBatis Generator 1.4.1 설치하기


(3) New 파일 생성 시 xml 검색 시 MyBatis XML Mapper로 선택

 

 

🤯 잇?? 저는 깔았는데도 XML 검색하면 MyBatis가 나오지 않아요 ㅠ 

더보기

저도 학원에서는 잘 돌아갔는데 집에 와서 노트북에 깔았더니 나오지 않더라구요,,

그럴 땐,, 수동으로 직접 아래 두 줄의 코드를 넣어줍니다..ㅠ

 

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd%22%3E
<mapper namespace="com.demo.mapper.BoardMapper">

728x90