본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

Spring Series97

[SpringBoot] 공식 문서 요약(4) - Spring WebFlux SpringBoot Document Review 4 https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/html/ Spring WebFlux https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/html/boot-features-developing-web-applications.html#boot-features-webflux https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#webflux ※ WebFlux에 대한 예제 코드들이 많이 있음 1) Spring WebFlux 소개 -.. 2021. 11. 15.
[SpringBoot] 공식 문서 요약(3) - Testing SpringBoot Document Review 3 https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/html/ Testing https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/html/boot-features-testing.html 1) Test Scope Dependencies - spring-boot-starter-test라는 Starter는 Spring Boot 테스트 모듈과 다른 테스팅 라이브러리들을 지원한다. ※ scope은 일반적으로 test로 적용하며, 기능들을 src/test 에서만 사용할 수 있다는 뜻이다. 2) Test Spring Applications.. 2021. 11. 3.
[SpringBoot] 공식 문서 요약(2) - Spring Web MVC SpringBoot Document Review 2 https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/html/ Spring Web MVC Framework https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/html/boot-features-developing-web-applications.html 1) Spring MVC 기본 설정 (1) ViewResolver - ContentNegotiatingViewResolver : 최종적으로 View의 Return 타입을 판단한다. - BeanNameViewResolver : View를 Bean의 이름으로 찾는다. - 등등.. V.. 2021. 10. 4.
[SpringBoot] 공식 문서 요약(1) - 개요/로그/설정파일 SpringBoot Document Review 1 https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/html/ 1) Starter - 자주 사용할만한 라이브러리들을 묶어 Spring Boot에서 제공해주는 것 - Spring Boot에서는 spring-boot-starter-*의 이름으로 제공해주는데, 제 3자가 만든 Starter은 [Own Project]-spring-boot-starter-*의 이름으로 작명되어야 한다. 2) Optional dependency - 의존성 정보를 다른 패키지에 넘기고 싶지 않을 때 사용함 ... true 3) autoconfigure 모듈 - 자동 설정에 필요한 모든 요소(@ConfigurationP.. 2021. 9. 3.
[Spring Boot] Executable JAR 생성하기 1. plugin 추가 - 실행 가능한 jar을 생성하기 위해 다음과 같이 pom.xml에 spring-boot-maven-plugin을 추가해야 한다. 보통 starter.io를 이용하여 프로젝트를 생성한 경우에는 이미 작성되어있다. ... org.springframework.boot spring-boot-maven-plugin true ※ 패키징 과정은 pom.xml에 있는 spring-boot-starter-parent POM의 executions 설정에 의해 이루어지는데, 보통 프로젝트를 생성 했을 때 기본적으로 세팅되어 있기 때문에 참고만 해두면 될 것 같다. 2. Build 1) 패키지 파일 생성 방법 (1) 에디터 이용 - Intellj 에디터의 경우에는 우측에 있는 Maven을 클릭하여 L.. 2021. 8. 30.
[Spring Boot] 예제로 Lombok 쉽게 이해하기 1. Lombok이란? 코드를 간소화 시켜주는 어노테이션들을 제공하는 라이브러리로, Lombok을 적절히 잘 활용하면 개발 시간을 많이 단축시킬 수 있다. 2. 예제 해당 예제는 Spring Boot에서 Gradle 프로젝트로 작성했다. 1) 목표 아래 소스 코드는 필자가 예시로 작성한 평범한 DTO이다. 이 긴 코드를 Lombok을 이용하여 리팩토링해 볼 것이다. package com.example.demo.entity; public class User { // 변수 선언 private String id; private String password; private String name; private int age; // 생성자 public User(String id, String password, S.. 2021. 7. 22.
[Spring Boot] MVC 패턴 1. MVC 패턴이란? Spring을 이미 배웠다면 MVC 패턴이 무엇인지 알 것이다. 그래도 강의 글이기 때문에 한 번 더 짚고 넘어가고자 한다. MVC는 각각 Model, View, Controller를 나타낸다. 사용자가 웹 애플리케이션을 이용하기 위해 URL 요청을 하면, 해당 요청은 Controller에 들어오게 된다. Controller은 해당 요청을 담당하는 메소드로 안내하고, 요청에 포함된 정보를 가지고 Model에 접근할 수 있다. Model은 데이터베이스같은 비즈니스 로직을 처리하는 일을 수행하고 Controller로 다시 돌아온다. Controller의 처리가 끝났다면 그 결과를 사용자들이 화면을 통해 볼 수 있도록 View로 이동시켜준다. 2. MVC 패턴 적용 1) View 측 (.. 2021. 7. 15.
[Spring Boot] Spring vs Spring Boot / 개발 환경 설정 ※ 이 블로그의 Spring Boot 포스팅에서는 gradle 프로젝트를 사용합니다 1. Spring vs Spring Boot Spring의 주된 특징으로는 IOC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍)이 있으며, 이러한 느슨한 결합 방식 덕에 편리한 유지보수 환경을 자랑한다. 그렇다면 Spring Boot는 Spring에 비해 어떻게 달라졌을까? 공식 사이트에서는 Spring Boot에 대해 이렇게 말한다. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". "단지 실행만 하면 되는 자립형 생산 등급의 Spring 기.. 2021. 7. 14.
[Spring] Spring Security(7) - 자동 로그인 기능 추가 포털 사이트에 로그인을 해본 경험이 있다면 로그인 상태 유지 여부를 선택할 수 있는 기능을 봤을 것이다. 이 기능을 영어로는 remember-me 라고도 한다. 네이버 다음 이 체크 박스를 눌러 체크하고 로그인을 진행하면 브라우저에 쿠키가 남게 되며, 다음 방문 때도 로그인 상태를 유지시켜준다. 단, 쿠키 시간이 만료되거나 로그아웃을 했다면 다음 방문때는 다시 로그인을 해야한다. 이러한 기능을 우리가 만드는 웹사이트에 추가해보자. 예제 프로젝트의 구성은 이렇다. 빨간 상자로 표시해둔 파일들은 이번에 수정할 파일들이다. 1. 로그인 VIEW에 로그인 유지 체크박스 추가 아래 한줄을 추가했다. 로그인 유지 input 타입은 체크박스로 하고, 따로 커스터마이징 하지 않았다면 name 속성은 "_spring_s.. 2021. 2. 9.