Skip to content

rhkd4560/Study-SpringBoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(1) Chapter 1, Chapter 2

1. Dependency

  • 코드에서 두 모듈간의 연결
  • 두 개의 클래스 간의 관계

2. DI(Dependency Injection)

  • instance의 생성 및 생명 주기를 외부로 맡기는 행위
  • 필요한 경우에 따라 instance를 외부로 부터 주입 받아서 사용
  • instance의 생성 및 관리의 주체가 개발자가 아닌 외부이기 때문에 제어의 역전이 됨

3. REST API

  • REST : 웹에 존재하는 모든 자원에 고유한 URI를 부여해 활용하는 것
  • REST의 특징을 지키는 API

4. JPA

  • 어플리케이션과 JDBC 사이에서 동작하는 ORM의 표준 인터페이스
  • ORM : 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터 변환 기법
  • JDBC : 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 인터페이스

5. Gradle

  • Groovy를 이용한 빌드 자동화 시스템

6. @RestController

  • REST 방식의 데이터 자체를 서비스로 제공
  • JSP처럼 뷰를 생성하는 것이 아닌 데이터 자체를 반환(단순 문자열, JSON, XML)

7. @GetMapping

  • 요청 URL을 어떠한 메서드가 처리할 지 맵핑
  • controller 내부에서 URI 경로 지정

8. YAML 파일

  • 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식
  • JSON, XML과 같은 가독성을 고려한 데이터 포맷 형식

9. @Value

  • 프로퍼티의 키를 사용하여 특정한 값 호출

10. @ConfigurationProperties

  • 다양한 형의 프로퍼티값 매핑
  • 접두사를 사용하요 값을 바인딩

11. @Data

  • 아래 어노테이션을 한 번에 처리하는 어노테이션
  • @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredAndConstructor
  • @ToString : 모든 필드를 출력하는 toString() 메소드 생성
  • @EqualsAndHashCode : hashcode 와 equals 메소드를 생성
  • @Getter/@Setter : getter, setter를 생성하지 않도록 지원
  • @RequiredAndConstructor : 생성자 생성 관련 지원

12. Spring Bean

  • 스프링 컨테이너에서 생성 된 자바 객체

13. @Bean, @Component

  • 목적이 명확하지 않은 자바 객체(Bean)를 생성할 때 사용하는 어노테이션
  • @Bean : 개발자가 컨트롤이 불가능한 외부 라이브러리를 Bean으로 등록하고 싶을 때 사용
  • @Component : 개발자가 직접 컨트롤이 가능한(생성한) 클래스의 경우 사용

14. H2

  • 자바로 작성된 인 메모리 관계형 데이터베이스 관리 시스템

(2) Chapter 3

1. @JUnit

  • 자바의 대표적인 단위 테스트 프레임워크

2. @RunWith

  • JUnit 프레임워크 테스트 실행 방법을 확장할 때 사용
  • Runner 클래스 설정 시 내장 된 Runner 대신 해당 하는 클래스 실행

3. @SpringBootTest

  • 통합 테스트를 제공하는 기본적인 스프링 부트 어노테이션
  • 애플리케이션이 실행될 때의 설정을 임의로 바꾸어 테스트를 진행할 수 있음

4. @WebMvcTest

  • MVC를 위한 테스트, 웹에서 테스트하기 힘든 컨트롤러를 테스트 하는데 적합
  • 웹 상에서 요청과 응답에 대해 테스트 할 수 있음

5. @DataJpaTest

  • JPA관련 테스트 설정만 로드 가능
  • JPA를 사용하여 데이터를 생성, 수정, 삭제등의 테스트 가능
  • 실제 데이터베이스가 아닌 내장형 데이터베이스를 사용할 수 있음

6. @RestCilentTest

  • REST관련 테스트를 도와주는 어노테이션
  • JSON 형식이 예상대로 응답을 반환하는지 테스트

7. @JsonTest

  • JSON의 직렬화와 역직렬화를 수행하는 라이브러리 제공
  • 문자열로 나열된 JSON 데이터를 객체로 변환하여 변한된 객체의 값 테스트

(3) Chapter 4

  • 텍스트, HTML, XML, Javascript, CSS 그리고 텍스트를 생성할 수 있는 템플릿 엔진이다.
  • 순수 HTML로 템플릿을 작성할 수 있다.
  • Spring Boot에서 사용이 권장되고 있다.
템플릿 :

어떤목적을 위해 미리 만들어둔 모양이 있는 틀.

템플릿 엔진 :

템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨어(또는 소프트웨어 컴포넌트)를 말한다.

  • 템플릿 엔진의 필요성
  1. 많은 코드를 줄일 수 있다 대부분의 Template Engine은 기존의 HTML에 비해서 간단한 문법을 사용한다.
  2. 재사용성이 높다 웹페이지 혹은 웹앱을 만들 때 똑같은 디자인의 페이지에 보이는 데이터만 바뀌는 경우가 굉장히 많다.
  3. 유지보수에 용이하다 하나의 Template을 만들어 여러 페이지를 렌더링하는 작업에는 또 다른 이점이 있다.
  • Web
  • 타임리프
  • JPA
  • Devtools
  • 롬복
  • H2
  • Serializable
  • @Getter
  • @NoArgsConstructor
  • @Entity
  • @Table
  • @Id
  • @Column
  • @Builder

(4) Chapter 5

  • 소개
  • 인증 수행 방법
  • 권한 부여 코드 승인타입
  • @NestedConfigurationProperty
  • AuthorizationCodeResourceDetails
  • ResourceServerProperties
    • OAuth2 리소스 값
  • @Configuration
  • 동기, 비동기 통신
  • @EnableWebSecurity
  • WebSecurityConfigurerAdapter
  • HttpServletRequest
  • XFrameOptionsHeaderWriter
  • CharacterEncodingFilter
  • CsrfFilter
  • @EnableOAuth2Client
  • OAuth2ClientContext
  • BasicAuthenticationFilter
  • FilterRegistrationBean
  • Filter
  • CompositeFilter
  • OAuth2ClientAuthenticationProcessingFilter
  • OAuth2RestTemplate
  • UserInfoTokenService

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages