본문 바로가기
개발/Java

[Spring] Infearn 스프링 입문 필기 1 - 개념 학습

by m_.9m 2022. 12. 6.

0. 기본

0.1 스프링의 기본 특징

1) POJO(Plain Old Java Object)

처음에 무거운 EJB와 반대로 경량의 자바 객체를 지칭. 간단한 객체를 설명하기 위한 용어로 쓰여짐. 대표적 예시) Java빈과 같이 setter/getter 메소드를 가진 serializable(직렬화가 가능)한 객체를 의미.

2) PSA(Poetable Service Abstraction)

성격이 비슷한 여러 종류의 기술을 추상화하고 일관화를 지원

트렌젝션 서비스 추상화: Global Transaction 방식 등으로 자바의 JDBC 외에 이런 트랜잭션 매니저를 지원하기 위한 API인 JTP를 제공

3) DI(Dependecy injection)

분리/도착 형으로 개발을 하면 결합도가 낮아짐. 일련의 과정을 동적 자동화함.

  • Setter injectionA a = new A()
  • a.setB(b)
  • B b = new B()
  • Construction injectionA a = new A(b)
  • B b = new B()

4) IoC(Inversion of Control)

작은 부품부터 시작하여 큰 부품으로 이동하며 조립.

스프링은 일련의 과정을 컨테이너에서 처리해 스프링을 IoC컨테이너라고 함

5) AOP(Aspect Oriented Programming)

스프링 프레임워크에서의 Aspect란 보조 업무 - 로그, 트랜잭션, 보안 처리를 의미하며 AOP의 구현이란 주 업무에서 보조 업무 코드를 분리하는 것이다. 장점은 코드가 깔끔해지고 가독성이 높아진다.

 

 

 

0.2 환경 설정

Help > Eclipse Marketplace…에서 Spring tool 4와 Gradle, Minimalist Gradle를 설치한다.

Windows > Preferences를 선택하고 General > Editors > File Associations 메뉴에서 *.gradle을 찾아서 Minimalist Gradle Editor을 Defauilt로 선택해 파일을 연결한다.

 

 

1. 설치

1.1 자바 11

Download the Latest Java LTS Free

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

다운로드 및 설치

 

 

1.2 Spring initalizr

https://start.spring.io/

 

셋팅 창

ADD Dependencies에 아래 두개를 추가, 나머지 설정을 마친 후 Generate한다. 랜더링 엔진은 Thymeleaf 사용.

 

 

 

1.3 설정 환경

group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

~서 다운로드 받아라

repositories {
   mavenCentral()
}

라이브러리

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

 

 

 

2. 실행

main에 application 실행

 

 

실행 시 오류 창이 나면 성공

 

 

3. 주요 라이브러리

로그 저장 시 해당 라이브러리를 주로 사용