본문 바로가기

분류 전체보기

(211)
Spring Boot_AOP 관점 지향 프로그래밍 AOP 관점 지향 프로그래밍 : AOP(Aspect-Oriented Programming)는 OOP(Object-Oriented Programming)의 보완적인 개념이다. 프로그램을 구성하는 여러 모듈에서 공통적으로 사용하는 코드를 분리하여 재사용성과 유지 보수성을 향상 시키는 프로그래밍 기법이다. → 핵심 코드와 부가적인 코드(ex> 방어적 코드) 분리 AOP는 Aspect와 Advice를 사용하여 구현하며, @Aspect 어노테이션과 @Before, @After, @Pointcut 등의 어노테이션을 사용하여 정의한다. → @Before 메서드 수행 전, @After 메서드 수행 후, @Pointcut 관심 조인 포인트를 결정하므로 실행되는 시기를 제어할 수 있음. UserDTO.java HTML 삽..
Spring Boot_제어의 역전과 의존 주입 (IoC/DI) 제어의 역전 IoC(Inversion Of Control) 1. 스프링에서는 일반적으로 Java 객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에게 모두 맡긴다. 2. 개발자에게서 실행의 제어권을 프레임워크로 권한이 넘어갔다라는 의미로 제어의 역전이라고 한다. 3. IoC에 대상은 싱글톤으로 관리된다. 의존 주입 DI(Dependency Injection) : 필요할 때 Spring Container에서 가져와서 사용한다. → Servlet Container 다음에 Spring Container가 존재한다. : Spring Container에 Bean(ex> controller)객체가 싱글톤 패턴으로 올라간다. DI 예제 + 전략 패턴 1. 인터페이스 선언 (IEnco..
Spring Boot_Response와 MIME TYPE에 이해와 ResponseEntity Response와 MIME TYPE : Spring Boot는 기본적으로 ContentNegotiation이라는 기능이 있어 Accept 헤더에 따라 응답의 Content-Type을 자동으로 결정한다. 이 기능은 스프링 프레임 워크의 ContentNegotiatingViewResolver를 확장하여 구현된다. ResponseEntity란 ? : 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스이다. ResponseEntity를 사용하는 이유는 매번 새로운 요청마다 다른 형식으로 반환을 해주면 불편하기에 ResponseEntity에 일괄적인 형식을 만들어서 반환해줄 수 있도록 한다. ApiController.java (localhost를 80으로 설정해서 적어주지 않아도 되도록 함.) HTM..
Spring Boot_Rest API (GET, POST, PUT, DELETE) 주소 맵핑 GET, POST, PUT, DELETE 방식의 URL 주소 설계 POST 방식 - C : create → insert / GET 방식 - R : read → select / PUT방식 - U : update / DELETE 방식 - D : delete GET 방식 → @RequestParam : 쿼리 파라미터 방식으로 값을 받는 방법 → key = value 구조로 데이터 파싱 처리 → Map 사용 방식 구조 처리 → Dto 객체를 만들어서 처리 (@RequestParam을 붙이지 말아야 한다.) → @PathVariable 방식 GetApiController.java HTML 삽입 미리보기할 수 없는 소스 UserRequest.java (UserDTO) HTML 삽입 미리보기할 수 없는 소스 POST..
Spring Boot_도구 설치 및 환경 설정 Spring 도구 설치 및 환경 설정 1. JDK 설치가 되어 있어야 한다. 2. 환경 변수가 설정되어 있어야 한다. 3. MySQL 서버 설치하기. 4. IDE 설치가 되어 있어햐 한다. (STS 쓸 거임.) 5. STS tool 버전 확인하기. (최신 버전 비추) 6. 단축키 설정 7. STS tool 환경 설정 → UTF-8 기본 셋팅하기. 8. STS (템플릿 엔진 JSP 사용) 9. Lombok 설치 (라이브러리 → getter, setter, toString, builder 패턴 자동 완성) 툴 버전 : 4.18.0.RELEASE 사용 공식 툴 사이트 - IDE 개발 환경 도구 https://spring.io/tools Spring | Home Cloud Your code, any cloud—..
Java_스트림(Stream) java.util.Stream java.io 패키지에 있는 stream이 아님! java.util.stream : 컬렉션과 배열에서 데이터를 처리하는 기능을 제공한다. 스트림이란 ? : 배열이나 자료구조에서 쓸 수 있는 기능이다. - 자료의 대상과 관계없이 동일한 연산을 수행. 배열, 컬렉션을 대상으로 연산을 수행함. 일관성 있는 연산으로 자료의 처리를 쉽고 간단하게 함. - 한 번 생성하고 사용한 스트림은 재사용할 수 없음. 자료에 대한 스트림을 생성하여 연산을 수행하면 스트림은 소모됨. 다른 연산을 수행하기 위해서는 스트림을 다시 생성해야 함. - 스트림 연산은 기존 자료를 변경하지 않음. 자료에 대한 스트림을 생성하면 스트림이 사용하는 메모리 공간은 별도로 생성되므로 연산이 수행되도 기존 자료에 대..
JSP 프로그래밍_JSP에서 파일 업로드 하기 JSP에서 파일 업로드하기 1. form 화면에 데이터 타입을 form의 MIME TYPE을 enctype="multipart/form-data"로 선언해야 한다. 2. 서블릿에 @MultipartConfig 어노테이션을 선언해야 한다. → 자바 서블릿에서 지원하는 어노테이션으로 별도의 외부 라이브러리를 사용하지 않아도 파일을 업로드할 수 있다. → HttpServletRequest 인터페이스에서 제공하는 getPart() 메서드를 사용해 파일 업로드 된 내용을 가져올 수 있다. home.jsp 파일 - form 태그로 화면 구현 HTML 삽입 미리보기할 수 없는 소스 → 파일을 업로드 하기 위해서는 form태그에 enctype="multipart/form-data"를 반드시 적어주어야 한다. 그리고 i..
JSP 프로그래밍_필터(Filter) 필터(Filter) : HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 클래스이다. Filter를 쓰는 이유는 불필요한 캐릭터 인코딩을 중복하지 않아도 되기 때문이다. Filter는 웹 서버를 들어오기 전, 나가기 전에 검사한다. GET방식과 POST방식의 캐릭터 인코딩 차이 GET 방식 1. get 방식 request 사용시 UTF-8로 처리되어 들어옴. 2. get 방식 response 사용시 charset=ISO-8859-1로 처리되기 때문에 response.setContentType("마임타입; charset=UTF-8"); 처리해주어야 한다. POST 방식 1. post 방식 request 사용시 한글이 깨져서 들어옴. request.setCharacterEncoding("UTF-8"); ..