spring boot

    [기본] 스프링 핵심 원리 이해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 을 포함하는 패키지를 뒤져서 스프링 빈에 등록함 스프링 빈은 스프링 컨테이너에 싱글..