springboot(6)
-
스프링부트 - #6 REST
REST(Representational State Transfer)는 웹의 장점을 극대화 하는 통신 네트워크 아키텍처이며, REST의 구현 원칙을 제대로 지키는 시스템을 RESTful이라고 함 HTTP와 URL의 단순하고 간결한 장점을 계승한 네트워크 아키텍처 RESTful 제약조건 클라이언트-서버 : 관심사의 명확한 분리 무상태성 : 서버에 클라이언트의 상태 정보를 저장하지 않음 캐시 가능: 클라이언트이 응답을 캐시 계층화 시스템 : 중개 서버나 로드 밸런싱, 공유 캐시 등의 기능을 사용하여 확장성이 있는 시스템 구성 가능 코드 온 디멘드 : 클라이언트는 서버에서 자바 애플릿, 자바스크립트 실행 코드를 전송받아 기능을 확장가능, 선택적 제약 인터페이스 일관성 - URI로 지정된 리소스에 균일하고 통일된..
2020.11.17 -
스프링부트 - #5 oAuth2
인증과 권한에 관련된 강력한 기능인 스프링 부트 시큐리티를 제공 스프링 부트 시큐리티는 스프링 시큐리티의 번거로운 설정을 간소화 시켜주는 래핑 프레임워크 가장 중요한 개념은 '인증(authentication)'과 '권한 부여(authorization)' 인증 : 사용자(클라이언트)가 애플리케이션의 특정 동작에 관하여 허락(인증)된 사용자인지 확인하는 절차 권한 부여 : 데이터나 프로그램 드의 특정 자원이나 서비스에 접근할 수 있는 권한 허용 인증방식 크리덴셜 기반 인증 방식 : 사용자명과 비밀번호로 인증 이중 인증 방식 : OTP와 같은 추가적인 인증 방식을 도입해 한번에 2가지 방법으로 인증하는 인증 방식 OAuth2 인증 방식 : 소셜 미디어를 사용해 편리하게 인증하는 방..
2020.11.17 -
스프링부트 - #4 web
thymeleaf는 웹 또는 독립적인 실행 환경에서 사용되는 자버 서버 사이드 템플릿 엔진 프로젝트 의존성 구성을 위해 build.gradle을 설정하여 버전 및 의존성을 설정함 Spring-Boot-Community-Web 구조 ├── README.md ├── build ├── build.gradle ├── gradle └── src ├── main │ ├── java │ │ └─── com │ │ └── web │ │ ├── config │ │ ├── controller │ │ ├── domain │ │ ├── repository │ │ └── service │ └── resources │ │ ├── css │ │ ├── images │ │ └── js │ └── templates │ └── boar..
2020.11.17 -
스프링부트 - #3 테스트
스프링 부트에서는 기본적인 테스트 스타터를 제공 크게 두가지 모듈로 구성 spring-boot-test, spring-boot-test-autoconfigure이며 테스트 관련 자동 설정 기능을 제공 보통은 spring-boot-starter-test로 두 모듈을 함께 사용 테스트 코드 및 예제는 설명 X @SpringBootTest 통합 테스트를 제공하는 기본적인 스프링 부트 테스트 어노테이션 실제 구동되는 애플리케이션과 똑같은 컨텍스트를 로드하여 테스트 @RunWith 어노테이션을 사용하면 JUnit에 내장된 러너를 사용하는 대신 어노테이션에 정의된 러너 클래스 사용 @SpringBootTest 를 사용하려면 JUnit 실행에 필요한 Springjunit4ClassRunner 클래스를 상속받은 @Ru..
2020.11.17 -
스프링부트 - #2 환경설정
https://start.spring.io/ 피보탈에서 제공하는 스프링 이니셜라이저는 원하는 언어, 빌드 도구, 스프링 버전, 의존성을 체크하여 스프링 부트 프로젝트를 생성 @RestController @Controller, @ResponseBody를 합쳐놓은 역할, RESTful 웹 서비스를 만들때 주로 사용 @GetMapping get 방식으로 경로를 받는 매핑 어노테이션, value 값을 지정하지 않으면 기본값인 빈 값(""") 그레이들 레퍼 기본 구조 gradle wrapper gradle-wrapper.jar gradle-wrapper.properites gradlew gradlew.bat gradlew : 리눅스 및 맥OS용 셸 스크립트 gradlew.bat : 윈도우용 배치 스크립트 grad..
2020.11.17