일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 그리디
- 개발자 면접 준비
- 프로그래머스 이중우선순위큐 자바
- 이중우선순위큐 java
- oracle ansi sql
- 프로그래머스 이중우선순위큐 java
- DBASE&
- 백트래킹
- oracle ansi
- JPA
- 이중우선순위큐 자바
- SQL
- 디베이스앤 인턴 후기
- 디베이스앤
- Java
- 위상정렬
- CJ DBASE&
- DFS
- 면접 필수 질문
- DP
- BFS
- Gradle
- 이분탐색
- 프로그래머스
- ansi sql 장점
- IT 면접 준비
- Spring Boot
- ansi sql 단점
- 백준
- 프로그래머스 이중우선순위큐
- Today
- Total
목록Programming/Spring Boot (9)
쉬운 프로그래밍
REST API에 대한 기본적인 이해를 하고 있다고 가정한다. 1. ResponseEntity 스프링에서 제공하는 클래스 중에서 HttpEntity라는 클래스가 존재하는데 이는 Http 리퀘스트/리스폰스가 이루어질 때 Http 헤더와 바디를 포함하는 클래스이다. RequestEntity와 ResponseEntity는 이 HttpEntity를 상속받는다. 즉 ResponseEntity는 사용자의 HttpRequest에 대한 응답하는 데이터를 가진다. Http Status, Header, Body를 포함한다. @RestController public class HelloController { @GetMapping("/hello") public ResponseEntity hello() { return new ..
템플릿엔진이나, js css등 수정이 잦은 것들을 매번 새로 빌드 하는 것은 매로 번거로운 일이다. SpringBoot Devtools를 통해 새로고침 만으로 resources 밑의 파일들의 실시간 반영을 할 수 있다. 1. Gradle compile "org.springframework.boot:spring-boot-devtools" Maven은 귀찮아서.. 2. application.properties spring.devtools.livereload.enabled=true 3. 인텔리제이 설정 인텔리제이 같은 경우에는 설정을 따로 해줘야 devtools livereload가 적용된다. 먼저, ctrl + shift + a 를 누른 후 Registry를 검색한다. 다음으로 아래 옵션을 체크해준다. 마지..
package com.mkl.book.config.auth; import com.mkl.book.user.domain.Role; import lombok.RequiredArgsConstructor; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @RequiredArgs..
롬복에서 지원하는 @RequiredArgsConstructor는 다음과 같은 기능을 가집니다. 1. 선언된 모든 final 필드가 포함된 생성자를 생성해 준다. 2. 이 때, final이 없는 필드는 생성자에 포함되지 않는다. * 예시 코드 @Getter @RequiredArgsConstructor public enum Role { GUEST("ROLE_GUSET", "손님"), USER("ROLE_USER", "유저"); private final String key; private final String title; } 위와 같이 작성하면, final 필드가 포함된 생성자를 자동으로 만들어진다. @RequiredArgsConstructor를 활용하여 생성자를 통한 Bean 주입을 할 수 있다. 기존에 ..
스프링 시큐리티는 막강한 Autherification, Authorizaiton 기능을 가진 프레임워크이다. 거의 스프링 기반 앱에서 보안을 위한 표준으로 사용된다. 그럼 스프링 시큐리티와 OAuth 2.0을 통해 소셜 로그인 기능을 구현해보자 1. 구글 서비스 등록 먼저 구글 클라우드 플랫폼에 들어간다. cloud.google.com/console.cloud.google.com/ 클라우드 컴퓨팅 서비스 | Google Cloud 데이터 관리, 하이브리드 및 멀티 클라우드, AI 및 머신러닝 등 Google의 클라우드 컴퓨팅 서비스로 비즈니스 당면 과제를 해결하세요. cloud.google.com 위 URL에 접속해서 프로젝트 선택을 클릭한다. 새 프로젝트 클릭후 서비스 이름을 입력한다. 생성한 프로젝트..
REST는 Representational State Transfer의 약어이다. 하나의 URI는 하나의 고유한 Resource를 대표하도록 설계된다는 개념을 가진다. 에를들면 'contents/32'는 컨텐츠 중 32번이라는 고유한 의미를 가지도록 설계한다는 의미이다. 이에 대한 처리는 GET/POST 방식과 같이 추가적인 정보를 통해서 결정한다. 따라서 REST 방식은 다음과 같이 구성된다. URI + GET/POST/PUT/DELETE 등 스프링 부트에서 REST 관련 기능을 다루는 어노테이션은 다음과 같다. 1. @RestController @RestController는 Controller가 REST 방식을 다룬 다는 것을 명시한다. REST 방식은 서버에서 순수 데이터만을 전송한다. 기존 Cont..
예를 들어 @Controller 어노테이션을 달면 스프링 컨테이너에 그 컨트롤러 객체를 생성하고 객체 생명을 스프링이 관리 한다. 이를 '스프링 빈(Bean)'이 관리된다고 한다. 만약 public SchoolService schoolService = new SchoolService(); 와 같이 객체를 생성하게 되면 객체가 여러개 생성될 필요 없이 하나만 생성되도 되는 경우 등 여러가지 상황에서 비효율적으로 동작한다. 그러므로 객체를 Bean으로 등록해서 스프링에게 객체의 핸들링을 맡기도록 한다. 그러면 스프링 컨테이너에 객체를 Bean 어떻게 등록하는가하면 크게 두가지가 있다. 첫번째로 컴포넌트 스캔과 자동 의존관계를 설정하여 Bean을 등록해보겠다. 요약하면 @Component 어노테이션을 통해서 ..