백기선
-
REST API 보안 적용 - 1백기선(인프런 강의)/스프링 기반 REST API 개발 2021. 1. 27. 16:50
공부중인 GIT 주소 위 GIT주소에 개발 step 별로 commit 해두었다. 진행 과정 이벤트 조회 및 수정 REST API 개발 Account 도메인 추가 스프링 시큐리티 적용 예외 테스트 스프링 시큐리티 기본 설정 스프링 시큐리티 폼 인증 설정 스프링 시큐리티 OAuth2 인증 서버 설정 리소스 서버 설정 문자열을 외부 설정으로 빼내기 이벤트 API 점검 현재 사용자 조회 출력값 제한하기 1. Account 도메인 추가 2. 스프링 시큐리티 적용 스프링 시큐리티 스프링 5 부터는 웹이 2종류가 됨 Web flux Web servlet (이번 강의에서 이기준으로 설명) SecurityInterceptor 웹 요청 같은 경우는 srpingFilterChain이 연관이 되어있있음 웹 시큐리티 (Filt..
-
이벤트 조회 및 수정 REST API 개발백기선(인프런 강의)/스프링 기반 REST API 개발 2021. 1. 27. 14:06
공부중인 GIT 주소 위 GIT주소에 개발 step 별로 commit 해두었다. 진행 과정 이벤트 조회 및 수정 REST API 개발 테스트용 DB와 설정 분리 API 인덱스 만들기 이벤트 목록 조회 API 구현 이벤트 CRUD API 구현 이벤트 수정 API 구현 이벤트 삭제 API 구현 이벤트 조회 API 구현 이벤트 생성 API 구현 테스트 코드 리팩토링 1. 테스트용 DB와 설정 분리 테스트 할 때는 계속 H2를 사용해도 좋지만 애플리케이션 서버를 실행할 때 PostgreSQL을 사용하도록 변경하자. /scripts.md 참고 1-1. PostgreSQL 드라이버 의존성 추가 org.postgresql postgresql 1-2. 도커로 PostgreSQL 컨테이너 실행 docker run --n..
-
ExceptionHandler백기선(인프런 강의)/더 자바, 코드를 조작하는 다양한 방법 2020. 6. 16. 20:38
스프링 @MVC 예외 처리 방법 @ControllerAdvice @ExceptionHandler 스프링 부트가 제공하는 기본 예외 처리기 BasicErrorController 상속받아 사용 HTML과 JSON 응답 지원 커스터마이징 방법 ErrorController 구현 커스텀 에러 페이지 상태 코드 값에 따라 에러 페이지 보여주기 src/main/resources/static|template/error/ 404.html 5xx.html ErrorViewResolver 구현 예제 public class AppError { private String message; private String resaon; public String getMessage() { return message; } public vo..
-
SpEL(스프링 Expression Language)백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 26. 08:42
스프링 EL 이란? 객체 그래프를 조회하고 조작하는 기능을 제공한다. Unified EL과 비슷하지만, 메소드 호출을 지원하며, 문자열 템플릿 기능도 제공한다. OGNL, MVEL, JBOss EL 등 자바에서 사용할 수 있는 여러 EL이 있지만, SpEL은 모든 스프링 프로젝트 전반에 걸쳐 사용할 EL로 만들었다. 스프링 3.0 부터 지원. @RestController public class HomeController { @Value("#{1 + 1}") int value; @Value("#{'hello ' + 'world'}") String greeting; @Value("#{1 eq 1}") boolean trueOrFalse; @GetMapping(value = "/") public String ..
-
Validation 추상화백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 23. 22:37
org.springframework.validation.Validator 스프링에서는 Validator 인터페이스를 지원하여 어플리케이션에서 사용하는 객체를 검증할 수 있는 기능을 제공한다. 이 Validator 인터페이스는 어떤 특정 계층에 사용하는 기능이 아닌 모든 계층에서 사용할 수 있다. Validator는 Java EE Spec인 Bean Validation의 어노테이션을 이용하여 객체가 제대로 요구사항에 맞추어 생성 됬는지 검증할 수 있다. 특징 어떤한 계층과도 관계가 없다. => 모든 계층(웹, 서비스, 데이터)에서 사용해도 좋다. 구현체 중 하나로, JSR-303(Bean Validation 1.0)과 JSR-349(Bean Validation 1.1)을 지원한다. (LocalValidat..
-
Resource 추상화백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 23. 12:22
특징 java.net.URL을 추상화 한 것. java.net.URL을 resource라는 클래스로 감싸서 실제 low레벨에 접근하는 기능을 추상화 스프링 내부에서 많이 사용하는 인터페이스. 추상화 한 이유 클래스패스 기준으로 리소스 읽어오는 기능 부재 ServletContext를 기준으로 상대 경로로 읽어오는 기능 부재 새로운 핸들러를 등록하여 특별한 URL 접미사를 만들어 사용할 수는 있지만 구현이 복잡하고 편의성 메소드가 부족하다. Resouce 상속받은 인터페이스 public interface Resource extends InputStreamSource { /** * Return whether this resource actually exists in physical form. * This me..
-
IoC 컨테이너와 빈(5) - ApplicationEventPublisher카테고리 없음 2020. 3. 19. 00:10
@Controller public class HomeController { @Autowired private ApplicationEventPublisher publishEvent; @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) throws Exception{ // 발생되어있는 이벤트를 등록되어있는 빈중에서 데이터를 출력 publishEvent.publishEvent(new MyEvent(this, 100)); return "home"; } } public class MyEvent { private int data; private Object source; public..