Spring 기초(Maven,pom.xml,패키지,Entity)

최동민·2022년 5월 23일
0

Spring 수업정리

목록 보기
3/47

Maven의 정의

자바 프로젝트를 관리하는 툴로, 미리 작성된 xml 파일을 이용하여 라이브러리를 자동으로 다운로드하거나 프로젝트를 빌드해준다. 즉, 자바 소스를 컴파일하고 패키지해서 deploy까지 자동화 해준다는 것이다.

spring을 처음 배우기 시작할 때에 pom.xml에 dependency~해서 뭔지도 모르는 코드를 막 적으라한다.

pom.xml의 정의

프로젝트명>target>pom.xml 파일

pom.xml은 간단히 말하면 Maven의 빌드 정보를 담고 있는 파일로, POM(Project Object Model)을 설정하는 부분으로 프로젝트 내 빌드 옵션을 설정하는 부분이다.
이것은 다른 프로젝트에도 복사-붙여넣기하면 되기 때문에 범용성이 좋고, 협업할 때에 버전을 통일하기에 편리하다.

구조를 살펴보자.

dependency는 프로젝트의 라이브러리를 정의하는 태그다.

나는 현재 json과 mariadb-java-client 두 개의 라이브러리를 추가해놓았다.

Json
:데이터를 전송할 때마다 가장 많이 쓰는 프로그램

패키지(Package)

패키지는 폴더에 구멍이 뚫려있는 모양.

Package는 분류를 하기 위하여 사용

목적에 의한 분류

  • 그 클래스의 종류와 상관없이 이것은 사용자의 목적에 따라 분류를 함.

종류에 의한 분류

  • 컨트롤러는 컨트롤러끼리 서비스는 서비스끼리 분류를 해놓는 것.

패키지이름을 본인이 소유하고 있는 도메인의 역순으로 하자.
package dev.dmchoi.myjson

엔터티(Entity)

Entity는 클래스
테이블 갯수와 같게 나올 것이다

데이터의 집합을 의미한다.
저장되고, 관리되어야하는 데이터이다.
유형 또는 무형의 대상을 가리킨다.
엔터티는 사람, 장소, 물건, 사건, 개념 등과 같은 명사에 해당된다.

데이터 베이스의 개념 중에서도 데이터 모델에 대해 공부를 시작할 때 제일 먼저 나오는 개념이 '엔터티(Entity)' 이다.

엔터티는 쉽게 말해 실체, 객체라고 생각할 수 있다.

예를 들어 학교라는 곳에선 과목이라는 엔터티가 존재할 수 있다.

그리고 엔터티는 인스턴스의 집합으로 나타나게 되는데, 즉 과목이라는 엔터티가 있다면, 수학, 영어, 국어와 같은 인스턴스가 과목이라는 엔터티에 포함되는 것이다.

이때 엔터티는 자신이 가지고 있는 인스턴스를 설명할 수 있는, 나타낼 수 있는 속성(Attribute)를 가지게 된다. 앞에서 이야기한 수학, 영어, 국어와 같은 인스턴스가 존재한다면 이들은 과목이라는 엔터티에서 이름이라는 속성을 가지고 있는 것이다.

엔터티는 일반적으로 다음과 같은 특징을 가지고 있다.

  • 반드시 엔터티가 사용되는 곳의 업무에서 필요하며 관리하고자 하는 정보
  • 엔터티가 포함하는 인스턴스에 대해 유일한 식별자로 식별이 가능해야 함
  • 엔터티는 지속적으로 존재하는 두개 이상의 인스턴스들의 조합이어야 함
  • 엔터티는 반드시 속성을 지녀야 함
  • 엔터티는 업무 프로세스에 의해서 이용되어야 함
  • 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함

또 엔터티는 각각의 성격에 의해, 실체유형(유무형)에 따라 구분하거나,
엔터티의 발생시점에 의해 분류될 수 있다.

실체유형(유무형)에 따른 분류

  • 유형 엔터티(Tangible Entity)
    물리적인 형태가 존재하는 엔터티이며 안정적이고 지속적으로 활용되는 엔터티이다.
  • 개념 엔터티(Conceptual Entity)
    물리적인 형태는 존재하지 않고 관리해야 할 개념적인 정보로 구분이 되는 엔터티이다.
  • 사건 엔터티(Event Entity)
    업무를 수행함에 따라 발생되는 엔터티이다.

발생시점에 따른 분류.

  • 기본/키 엔터티(Fundamental/Key Entity)
    해당 업무에 원래 존재하는 정보로 다른 엔터티와의 관계에 의해 발생 또는 생성되지 않고 독립적으로 존재하는 엔터티이다. 이는 독립적으로 생성이 가능하며 다른 엔터티의 부모역할을 한다.
  • 중심 엔터티(Main Entity)
    기본 엔터티로 부터 발생되며 업무에 있어서 중심적인 역할을 한다. 일반적으로 데이터 양이 많으며 다른 엔터티와의 관계를 통해 행위 엔터티를 생성한다.
  • 행위 엔터티(Active Entity)
    두 개이상의 부모엔터티로 부터 주로 발생되고, 자주 엔터티의 내용이 바뀌거나 데이터양이 증감한다. 분석초기 단계보다는 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출될 수 있다.

엔터티의 이름을 정하는 데에 있어서는 다음과 같은 원칙을 지켜야 한다.

  • 가능하면 현업업무에서 사용하는 용어를 사용한다.
  • 가능하면 약어를 사용하지 않는다.
  • 단수 명사를 사용한다.
  • 모든 엔터티를 통틀어서 유일한 이름을 가져야 한다.
  • 엔터티의 생성의미대로 이름을 부여한다.

이 글은 구글링하여 정리 중 아래 링크 내용을 많이 참조하였다.
출처: https://doorbw.tistory.com/227 [Tigercow.Door]

profile
코드를 두드리면 문이 열린다

0개의 댓글