프론트&백엔드 개발

SpringBoot 메모

00lwt 2025. 11. 7. 19:08

1. 자바스크립트 / DOM

DOM

  • HTML 태그들을 자바스크립트가 이해할 수 있는 객체 형태로 바꾼 것.
  • <body> 아래 <div> 아래 <p>처럼 트리 구조로 되어 있어서
    자바스크립트가 이 태그들을 찾아가서 수정하거나 읽을 수 있음.

2. 스프링 / 스프링부트

의존성 주입(DI)

  • 객체를 가져다 쓰는 방식.
  • 필드 주입보다 생성자 주입을 쓰는 것이 좋다.
    이유: 나중에 수정하거나 관리하기 쉬움.

AOP 로깅

  • 메서드 실행 전/후에 로그 찍기.
  • @Before: 메서드 실행 “직전”에 로그
  • @After: 메서드 실행 “직후”에 로그

세션 상태 관리

  • stateless: 세션을 아예 저장하지 않음(JWT 같은 방식에서 사용)
  • stateful: 세션을 사용함
  • if_required: 필요할 때만 세션 생성
  • never: 새로운 세션은 만들지 않지만 이미 존재하면 사용

3. MyBatis / Mapper

@Mapper

  • DB에서 데이터를 가져오기 위한 인터페이스에 붙임.
  • Spring Security 전용 Mapper는 없어서 직접 만들어야 함.

@Select 예시 (읽기 기능 READ)

  • username으로 유저 정보 조회
("SELECT username, password, writer, role FROM backend_spring_project.user WHERE username = #{username}") User findByUsername(String username);

@Service

  • 서비스(비즈니스 로직)를 담당하는 클래스에 붙임.
  • 컨트롤러가 “데이터 처리 좀 해줘”라고 하면, 실제 처리하는 부분.

@Controller

  • 웹 요청을 받고 JSP 같은 화면(View)을 반환할 때 사용.
  • return 값이 보통 JSP 파일 경로.

@RestController

  • @Controller + @ResponseBody 합친 것.
  • 뷰(JSP)를 주는 게 아니라 JSON 같은 데이터 자체를 반환함.
  • API 만들 때 가장 많이 사용.

@RequestBody

  • 프론트가 보내는 JSON 데이터를 자바 객체로 변환해서 받는 역할
  • POST / PUT 할 때 데이터 받을 때 많이 씀.
@PostMapping("/login")
public String login(@RequestBody User user) {
}

@Autowired

  • 빈을 가져다 사용할 때 붙임
  • 서버를 on 하면 {} 안의 내용이 실행

4. JSP / Servlet

JSP

  • 자바 + HTML + CSS를 연결해서 화면을 만들 때 사용.

JSTL 쓸 때 필요한 선언

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  • c:choose, c:when, c:otherwise 같은 기능적인 태그를 쓰기 위해 필요.

Servlet

  • MVC에서 모델과 뷰를 이어주는 역할
  • 즉, JSP와 백엔드 사이 연결다리

로그인 흐름

뷰(JSP) → 컨트롤러 → 서비스 → DB


5. HTTP 메서드 정리

메서드의미
POST 회원가입처럼 데이터 “생성”
GET 화면 표시, 데이터 읽기
PUT 데이터 수정
DELETE 데이터 삭제

 

'프론트&백엔드 개발' 카테고리의 다른 글

SpringBoot 환경설정  (0) 2025.11.04