코드로 배우는 스프링 웹 프로젝트 - 스프링 프로젝트 설정, lombok

lacblueeun·2020년 11월 8일
1

Spring

목록 보기
3/6
post-thumbnail

🔑 스프링을 공부하면서 구조를 먼저 이해해야 작동원리가 이해되는 것 같다. 기본을 토대로 활용까지 달려야겠다.

1. 스프링 특징

POJO(Plan Old Java Object): POJO기반의 구성으로 다른 프레임워크들과 달리 이 관계를 구성할 때 별도의 API등을 사용하지 않는 POJO의 구성만으로 가능하도록 제작되어 있습니다.

의존성 주입(DI) : 의존성(Dependency)라는 것은 하나의 객체가 다른 객체 없이 제대로 된 역할을 할 수 없다는 것을 의미합니다. 주입(Injection)은 말 그대로 외부에서 밀어넣는 것을 의마합니다.

AOP(Aspect Oriented Programming) : 반복적인 코드를 줄이고, 핵심 비즈니스 로직에만 집중할 수 있는 방법을 제공합니다. 대부분의 시스템이 가지고 있는 보안이나 로그, 트랜잭션과 같이 비즈니스 로직은 아니지만 반드시 처리가 필요한 부분을 스프링에서는 '횡단 관심사'라고 합니다.

트랜잭션의 지원 : 스프링은 트랜잭션의 관리를 어노테이션이나 XML로 설정할 수 있기 때문에 개발자가 매번 상황에 맞는 코드를 작성할 필요가 없도록 설계되어있다.


2. 스프링 프로젝트 시작하기

2-1 Spring Legacy project 생성 (STS-3.8.2.RELEASE)

Spring Legacy project 생성하고 Spring MVC Project를 생성한다. Project마다 구조가 조금씩 다르기 때문에 필요한 구조로 설정한다.

스프링에서 명명규칙은 매우 중요하다. 나중에 팀원과 함께하기 위해 규칙적인 이름으로 설정한다.

2-1 Spring 구조

servlet-context.xml : mvc 관련된 내용
root-context.xml : mvc 외에 Service, DataBase 내용
webapp - resources : css, javascript 관련 파일
views : jsp파일
src/main/java : 작성되는 코드
src/main/resources : mybatis, log4j 관련 xml파일
src/test/java : java로 작성한 코드 테스트 내용
src/test/resource : test와 관련된 파일
web.xml : tomcat 관련
pom.xml : maven이 사용하는 의존성 파일

3. lombok

Lombok은 자바에서 @Getter, @Setter 같은 annotation 기반으로 멤버 변수에 대한 Getter/Setter Method, Equals(), hashCode(), ToString()을 설정하는 생성자 등등을 자동으로 생성해 주는 라이브러리다.

3-1 lombok 설치방법


3-2 lombok에서 많이 사용되는 어노테이션

@Data: @RequiredArgsConstructor, @Setter, @Getter, toString 모두 가지고 있는 끝판왕 어노테이션
@NoArgsConstructor : 파라미터가 없는 생성자 생성
@RequiredArgsConstructor : 초기화 되지 않은 final 필드와 @NonNull 어노테이션이 붙은 필드에 대한 생성자 생성
@AllArgsConstructor : 모든 필드에 대한 생성자 생성
@Setter & @Getter : getter 와 setter 메소드를 생성

profile
Go for Frontend Developer 🧪

0개의 댓글