분류 전체보기

· Spring
[Spring] 스프링 DB 1편 - 데이터 접근 핵심 원리 섹션1 JDBC 이해◼️ JDBC 이해각 데이터베이스마다 사용법이 달라 JDBC 자바 표준이 등장했다. 자바는 표준 인터페이스를 정의하고, 개발자는 표준 인터페이스만 학습 후 개발하면된다.🪄 참고 - 표준화의 한계JDBC의 등장으로 많은 것이 편리해졌지만, 각각의 데이터베이스마다 SQL, 데이터타입 등의 일부 사용법이 다르다. 결국 데이터베이스를 변경하면 JDBC 코드는 변경하지 않아도 되지만 SQL은 해당 데이터베이스에 맞도록 변경 해야한다. 참고로 JPA(Java Persistence API)를 사용하면 이렇게 각각의 데이터베이스마다 다른 SQL을 정의해야 하는 문제도 많은 부분 해결할 수 있다.◼️ JDBC와 최신 데이터 접근 기술  J..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션10 예외처리2 - 실습강의 실습이 길어, 이번에는 코드예시들보단 흐름을 따라가며 핵심위주로 요약해 정리했다ㅎ :)○ 예외 처리 도입처음 만들었던 프로그램에 자바 예외 처리를 도입해본다.예외를 통해 정상 흐름과 예외 흐름을 분리하여 가독성을 높여보자. 반환 값을 통해 예외를 처리하는 방식이 아닌, 예외객체에 오류 코드와 메시지를 포함하여 처리한다. ○ 예외 복구 try-catch  Main()밖으로 예외가 던져지면 스택 트레이스 출력후 프로그램이 종료된다. 예외를 잡아 예외 흐름을 정상 흐름으로 복구하기위해,try-catch 블록을 사용하여 예외를 처리하고, 오류 메시지를 출력한다.public class MainV2 { // 기존코드 public static..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션9 예외처리1 - 이론○ 예외 처리가 필요한 이유1 - 시작간단히 사용자입력을 외부 서버에 전송하는 프로그램을 작성해본다.public class NetworkClientV0 { private final String address; public NetworkClientV0(String address) { this.address = address; } public String connect() { //연결 성공 System.out.println(address + " 서버 연결 성공"); return "success"; } public String send(String data){ ..
· Spring
[Spring] 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 섹션11 파일 업로드◼️ 파일 업로드 소개🟢 HTTP 폼 전송 방식application/x-www-form-urlencodedmultipart/form-data 멀티파트 관련 처리는 default가 true지만, 관련 처리를 하지 않게 설정할 수 있다.spring.servlet.multipart.enabled=true 🪄 참고위 옵션을 켜면 MultipartResolver가 실행된다. 이것은 멀티파트 요청의 경우 서블릿 컨테이너가 전달하는 일반적인 HttpServletRequest 를 자식인터페이스인 MultipartHttpServletRequest 로 변환해서 반환한다.이는 멀티파트와 관련 된 추가 기능을 제공한다. 파일 업로드 사이..
· Java
[Java] 김영한의 실전 자바 - 중급편 섹션8 중첩 클래스,내부 클래스2○ 지역 클래스지역 클래스는 내부클래스의 한 종류로, 지역 변수와 같이 코드 블럭 안에서 정의된다.또한 내부,중첩 클래스들도 일반 클래스처럼 인터페이스를 구현하거나, 부모 클래스를 상속할 수 있다.class Outer { public void process() { //지역 변수 int localVar = 0; //지역 클래스 class Local {...} Local local = new Local(); }}○ 지역 클래스 - 지역 변수 캡처🟢변수 생명 주기클래스 변수: 프로그램 종료 까지, 가장 길다(메서드 영역)인스턴스 변수: 인스턴스 생존 기간(..
· 일상기록
요즘은 너무 행복하니까 살짝 불안하다. 잘 살고있는거맞겟지..!?ㅎ에이몰라!!!이렇게 내 삶에 여유를 갖고 행복을 곳곳에서 발견한적이 없는데...늘 경쟁과 성장을 갈망하고 매진하고 내 기준에 충족하지 않는 나를 스스로 비교질하고 다그쳤는데.부러움과 질투심의 감정은 최근 전혀느껴본적이없고 ...주변에도 밝아보인다는 소리를 많이 듣는다.요즘은 정말 예전의 나와는 많이 달라졌다.사람들은 각자의 인생에 속도가 있다고 생각한다.지금 내옆이 잘된다고 배아플것도아니고, 내가 일이 잘풀린다고 기고만장하는것도 무의미하다.  이걸깨닫고 나에대해 집중하기만 한 요즘이다.요즘늘하는생각...내가 하는건 나만알면된다. 괜히 떠벌리거나 자랑하지말자.내 힘듬은 나만 삼키면된다. 괜히 찡찡대지말자!!! 정힘들땐 가족한테달려가..완벽하..
· Spring
문서를 이해하기 쉽게 내 입장에서 정리해보려한다. 문서 링크는 여기에서 확인 :)Spring Type Conversion◼️Converter SPI타입 변환 로직을 구현한다. 하나의 타입을 다른 타입으로 변환한다.아래 Converter 인터페이스를 구현하여 특정 타입에서 다른 타입으로 변환할 수 있다.package org.springframework.core.convert.converter;public interface Converter { T convert(S source);} 아래 예시(String→Integer)처럼 사용 가능하다.package org.springframework.core.convert.support;final class StringToInteger implements Convert..
· Spring
[Spring] 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 섹션10 스프링 타입 컨버터◼️ 스프링 타입 컨버터 소개HTTP 요청 파라미터는 모두 문자로 처리된다. 따라서 다른 타입으로 사용하고 싶다면 아래와 같이 변환을 거쳐야한다.@RestControllerpublic class HelloController { @GetMapping("/hello-v1") public String helloV1(HttpServletRequest request){ String data = request.getParameter("data"); // 문자 타입 조회 Integer intValue = Integer.valueOf(data); // 숫자 타입으로 변경 Syst..
· Spring
[Spring] 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 섹션9 API 예외 처리◼️ API 예외 처리 WebServerCustomizer @Component를 재등록하고 아래 Api 예외 컨트롤러 api를 실행해본다.@Slf4j@RestControllerpublic class ApiExceptionController { @GetMapping("/api/members/{id}") public MemberDto getMember(@PathVariable("id") String id){ if (id.equals("ex")){ throw new RuntimeException("잘못된 사용자"); } return new MemberDt..
· Spring
[Spring] 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 섹션8 예외 처리와 오류 페이지◼️ 서블릿 예외 처리🟢 서블릿 예외처리 두가지 방식Exception (예외)response.sendError(HTTP 상태 코드, 오류 메시지)애플리케이션에서 예외를 잡지 못하고 서블릿 밖까지 예외가 전달되면 아래와 같이 WAS와 까지 예외가 전달된다. WAS(여기까지 전파) ← 필터 ← 서블릿 ← 인터셉터 ← 컨트롤러(예외발생)WAS(sendError 호출 기록 확인) ← 필터 ← 서블릿 ← 인터셉터 ← 컨트롤러(response.sendError())▪️예외(Exception)를 호출해보자. server.error.whitelabel.enabled=false //application.properties@..
고쩡이
'분류 전체보기' 카테고리의 글 목록 (10 Page)