스프링과 객체지향프로그래밍

스프링이란?

  • 자바 언어 기반의 프레임워크
  • 스프링 프레임워크 + 스프링 부트
      • 스프링 데이터, 스프링 시큐리티, 스프링 세션 등
    • 핵심 기술
      • 스프링 DI 컨테이너, AOP, 이벤트, 기타
    • 웹 기술
      • 스프링 MVC, 스프링 WebFlux
    • 데이터 접근 기술
      • JDBC, ORM, 트랜잭션
    • 테스트
      • 스프링 기반 테스트 지원

Continue reading

Servlet(서블릿)이란?

Servlet(서블릿)이란?

  • 서버에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스(표준 스펙)
  • 즉, 웹 서버에서 실행되는 작은 프로그램 단위
  • HTTP 프로토콜 기반에서 확장된 CGI 방식의 서버 프로그래밍
  • 서블릿 컨테이너에서 실행됨
  • 스레드에서 실행됨
  • HTTP 요청에 대해 특정 기능을 수행 + HTML 등의 형식으로 응답을 하는 프로그램

Continue reading

13. 스프링 데이터 JPA

스프링 데이터 JPA?

  • 스프링 프레임워크에서 JPA를 편하게 사용할 수 있도록 지원하는 프로젝트
  • 데이터 접근 계층(repository)를 인터페이스만 작성해도 런타임 시에 스프링 데이터 JPA가 구현 객체를 주입해줌
  • 즉, 구현 클래스를 직접 작성하지 않고 인터페이스만 작성해도 CRUD를 할 수 있음

Continue reading

12. 객체지향 쿼리 언어(3) - JPQL 조인

JPQL 조인

  • 내부 조인 (INNERT JOIN)
    •   String teamName = "teamA";
        String query = "SELECT m FROM Member m INNER JOIN m.team t "
                      + "WHERE t.name = :teamName";
        List<Member> members = em.createQuery(query, Member.class)
                              .setParameter("teamName", teamName)
                              .getResultList();
      
    • JPQL은 조인을 할때도 연관관계 필드를 사용함
      • m.team t
    •   String SQL = "SELECT M.ID, M.AGE ... FROM MEMBER M 
                      INNER JOIN TEAM T ON M.TEAM_ID = T.TEAM_ID
                      WHERE T.NAME = ?
                      "
        String JPQL = "select m FROM Member m INNER JOIN m.team t
                      WHERE t.name = ?"
      

Continue reading

Pagination


© 2020.02. by blupine