일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- subquery
- application.yml
- 예약
- 추후정리
- 네이티브쿼리
- Query
- appspec.yml
- 적용우선순위
- 메세지수정
- 참조키
- ubuntu
- 컨테이너실행
- 커밋메세지수정
- EC2
- 검색
- MySQL
- WeNews
- 서브쿼리
- docker명령어
- ㅔㄴ션
- 테스트메소드
- 외부키
- 2 > /dev/null
- AuthenticationEntryPoint
- foreignkey
- querydsl
- appspec
- 테스트
- 포트
- 메소드명
- Today
- Total
목록Spring Boot (83)
제뉴어리의 모든것
스프링 컨테이너란? 스프링에서 지원하는 기술 중 하나라고 볼 수 있다. 한마디로 표현하자면, 스프링에서 DI (Dependency Injection) 를 지원하고 각 객체들의 Singletone을 보장하기 위하여 정의된 클래스들의 각 객체들을 생성하고 관리하여 담아 두는 공간 이라고 할 수가 있다. DI 컨테이너라고도 부를 수 있다. 부르는 명칭은 다양한다. 스프링 컨테이너의 필요성 순수 자바로만 좋은 객체지향 프로그래밍을 하기에는 효율이 떨어지고, 좋은 객체지향 프로그래밍을 하기에 한계가 존재하므로 스프링을 사용한다. 그리고 그런 스프링이 더 편리하게 SOLID 원칙을 지킬 수 있게 지원하는 기능이 스프링 컨테이너이다. 그러므로 스프링 컨테이너를 쓴다. 스프링 컨테이너의 역할 스프링 컨테이너란? 에서 ..
스프링이란 의미 스프링이라는 단어는 문맥에 따라 다르게 사용됨 스프링 DI 컨테이너 기술 스프링 프레임워크 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계 스프링의 진짜 핵심 스프링은 자바 언어 기반의 프레임워크 자바 언어의 가장 큰 특징 - 객체 지향 언어 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 객체 지향 특징 캡슐화 상속 추상화 다형성 객체 지향 프로그래밍을 하는 실질적인 이유 각 기능, 역할을 객체로 만들어 필요에 따라 갈아 끼우기만 하면 작동하도록 하기 위함. 다형성의 실세계 비유 왜 다형성을 사용하여 개발을 해야할까를 생각해보면 궁극적인 목표인 개발을 쉽게 하기 위해서다. 그렇다..
Spring Boot 프로젝트에서 DTO 검증 방법 환경 OS : Windows10 IDE : Intellij 2020.03 Spring Boot : 2.4.5 프로젝트 구조 Dependency implementation 'org.webjars:jquery:3.1.1-1' //@Valid, @Size, @NotEmpty 등등 현재 예제에서 소개하는 검증에 대한 디펜던시 implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spri..
사건의 시작은 Spring Security를 적용한 상태에서 로그인할때 비밀번호가 틀렸을 경우 Exception을 발생시켜 처리를 해주려는 상황에서 발생했다..아니 이미 계속 문제가 있던 상황이였다... 비밀번호를 검증하는 부분인 AuthenticationProvider 인터페이스를 구현한 CustomAuthenticationProvider라는 클래스를 만들어주었고 이 인터페이스의 필수 override 메소드인 authenticate에서 비밀번호가 틀릴경우 본인이 직접 만든 exception 클래스를 발생시키도록 하였다. 그런데 문제는 로그인을 시도하지도 않았는데 자꾸 exception이 발생하여서 인증과정중에 exception이 발생할 경우 작동하는 AuthenticationEntryPoint 인터페이..
DTO 클래스들을 @Builder로 초기화 할때 초기화 하지 않은 값들은 Null이 기본값인데 @Builder.Default을 적용하면 기본값을 세팅할 수 있다 @Builder.Default private Long test3 = 200L; //초기화 안해도 200L private Long test1 = 200L; //초기화 안하면 Null
service단에서 exception일 발생되있을때, controller단에서 해당 exception 처리를 할 수 있도록 아래와 가이 handler를 만들어 주었다. //Controller에 존재 @ExceptionHandler(ControllerException.class) public ResponseEntity handleControllerException(ControllerException e) { ErrorResponse errorResponse = new ErrorResponse(); errorResponse.setMessage(e.getReason()); errorResponse.setCode(e.getCode()); return new ResponseEntity(errorResponse, ..