Spring

    [HTTP] HTTP 상태코드

    HTTP 상태코드 소개 • 1xx (Informational): 요청이 수신되어 처리중 • 2xx (Successful): 요청 정상 처리 • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 • 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 389처럼 클라이언트가 인식할 수 없는 상태코드를 보낸다면 클라이언트는 3xx, 즉 상위 상태코드로 해석해서 처리한다 1xx 요청 처리중 코드는 거의 사용되지 않는다. 2xx - 성공 200 OK - 요청 성공 - 매우 자주 사용됨 201 Created - 요청 성공해서 새 리소스 생성됨 - Locat..

    [기본] 스프링 핵심 원리 이해1 - 예제 만들기

    메모 ~~Impl : 구현체가 하나일 때 관례상 사용 alt + insert : generate file -> setting -> keymap 검색 -> 찾고싶은 단축키 검색 F2: 오류난 곳으로 커서 이동 enum은 비교 시 ==이 맞음 객체 출력하면 기본적으로 객체 내부의 toString()이 출력됨 primative type (long 등) 은 null을 할당할 수 없음 Long은 가능 psvm 치고 엔터 : public static void main(String[] args) {} soutv 치고 엔터: System.out.println("변수: " + 변수) // 위 코드의 변수 중 선택할 수 있음 프로젝트 생성 순수 자바로만 프로젝트를 만들어보고 SOLID 원칙을 만족하는지 확인해보자 비즈니스..

    [기본] 객체 지향 설계와 스프링

    스프링의 역사 스프링 이전에 Enterprise Java Beans 줄여서 EJB라는 기술이 사용되었다. 그러나 서버 비용도 크고, 설계도 잘못되어 이에 불만을 느낀 Rod Johnson이 EJB 컨테이너를 대체하는 기술을 출시하고, Gavin King이 엔티티빈을 대체하는 Hibernate를 만들었다. Hibernate는 자바 표준화 되어 JPA(Java Persistence API)가 된다. 로드 존슨은 EJB의 문제점을 지적하며 스프링의 핵심 기반 코드(BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입)가 포함된 책을 출간한다. 후에 유겐 휠러, 얀카로프와 함께 오픈소스 프로젝트를 시작하며 이게 스프링이 된다. 스프링 프레임워크는 DI 컨테이너, AO..

    [입문] 스프링 빈과 의존관계

    컴포넌트 스캔과 자동 의존관계 설정 MemberService 는 별 기능 없음 여러개 생성할 필요 없이 공유해서 쓰면 된다. -> 스프링 컨테이너에 등록하고 사용하자 딱 하나만 등록된다 @Autowired를 생성자에 붙이면 스프링의 멤버서비스를 자동으로 연결해줌 오류! MemberService를 찾을 수 없음 왜냐하면 지금 MemberService는 순수 자바 클래스이기 때문 스프링컨테이너에 등록하기 위해 MemberService에 @Service를 붙여주자 MemoryMemberRepository에도 @Repository 위와 같은 방식이 스프링 빈을 등록하는 컴포넌트 스캔 방식 @SpringBootApplication 을 포함하는 패키지를 뒤져서 스프링 빈에 등록함 스프링 빈은 스프링 컨테이너에 싱글..

    [입문] 프로젝트 환경설정

    프로젝트 생성 1. java 11버전을 다운받는다 2. 환경변수 설정해준다 (JAVA_HOME, CLASSPATH, PATH) 3. intellij 학생라이센스로 다운받기 4. Spring Initializr 에서 프로젝트 설정 (여기선 thymleft랑 web 디펜던시 추가) 라이브러리 요새는 라이브러리 빌드해서 웹서버에 올리면 끝이다 임베디드라고한다 System.out.println() ㄴㄴ 로그로 남겨야 에러를 따로 볼 수 있음 slf4j + logback 조합 많이 써서 스프링부트에 포함됨 View 환경설정 웹 브라우저 -> 톰캣 내장 서버 -> 스프링 컨테이너(모델 리턴) -> View Resolver -> ~.html 변환 후 브라우저에 반환 빌드하고 실행하기 윈도우는 꼬옥 gradlew bu..