♣ Spring Framework의 특징

◆ 제어반전(Inversion Of Control, IOC)

  • Spring Framework의 제1 특징
  • 주도권을 개발자가 아닌 애플리케이션이 갖는다
  • 생성을 하지 말고 등록을 한다.
  • 스프링에서는 설정이 매우 중요한 역할을 차지한다.
  • 설정을 등록만 해주면 스프링이 알아서 처리해준다.
  • 스프링에서 설정한 내용을 기반으로 애플리케이션 필요 요소들을 호출한다.
  • 개발자가 사용하고자 하는 객체는 Spring Container에 등록해서 사용해야 한다.
  • (참고)required와 defaultValue를 조합하여 데이터 값이 없는 경우를 처리할 수 있다.
  • 통신은 원래 문자열이나 byte만 전송이 가능하므로 defaultValue는 문자열이다.

◆ 의존성 주입(Dependency Injection, DI)

  • Spring Framework의 제2 특징
  • 이미 스프링에 생성되어 등록된 요소(spring bean)를 호출 해야 한다.
    - @Controller에서 @Autowired를 추가
  • 만약 등록되지 않은 데이터를 호출 했다면 당연히 오류가 발생한다.
  • 내가 만든 도구들도 등록만 되어있다면 호출이 가능하다.
  • 상호 연결이 필요한 객체들을 스프링 설정에서 연결, 주입하도록 설정한다.
  • 상호 의존성을 낮춰 확장 및 교체가 용이한 구조로 만들 수 있다.

◆ DAO (Data Access Object)

  • CRUD 작업을 처리하는 도구이다.
  • DB 정보 전담 처리 도구이다.
  • 일을 하려면 JdbcTemplate이 필요하다.
  • JdbcTemplate은 Spring에 생성하여 등록된 상태이다.
  • 이것을 가져다가 사용하려면 나도 등록이 되어 있어야 한다.
  • @Repository(저장소를 관리하는 도구)로 등록하여 DB 또는 파일 작업을 하는 도구임을 알린다.

필드명 작성법

  • Dao는 DB작업을 하는 클래스이므로 insert로 필드명을 작성 권장
  • Controller는 스프링 작업을 하는 클래스이므로 join로 필드명을 작성 권장

@RequestParam

  • 데이터(객체)를 낱개로 받을 경우
  • ex) (@RequestParam String store)

@ModelAttribute

  • 데이터(객체)를 묶음으로 받을 경우
  • 파라미터(key=value 형태의 데이터)를 강제하기 어려운 단점이 있다.
    - (추가 검사 및 예외 처리가 필요하다.)
  • ex) (@ModelAttribute Store dto)

Spting Boot Actuator

  • 프로젝트 실행 확인 도구이다.

  • 왼쪽 하단에서 Boot Dashboard에서 해당 프로젝트 우클릭
    -> Show Properties 클릭

  • mapping : 등록된 주소 확인

  • beans : 내가 등록한 도구 확인

  • env : 기본 외부 환경 확인

profile
Backend Developer

0개의 댓글