2025-04-21STS3 다운로드STS.ini 설정스프링 템플릿 오류 해결Spring Legacy 템플릿 오류 해결UTF-8 인코딩 설정프로젝트 생성 후 톰캣 연결pom.xml 설정web.xml 인코딩 필터 설정실행 확인 방법참고 자료GitHub 배포 페이지:🔗 h
스프링 MVC에서는 클라이언트 요청 데이터를 컨트롤러에서 효율적으로 처리하기 위해 다양한 어노테이션을 제공합니다.요청 방식(GET/POST)과 데이터 형태(Form, JSON 등)에 따라 적절한 방식을 선택하는 것이 핵심입니다.
역할: 컨트롤러에서 뷰(View)로 데이터를 전달.특징: key-value 형태로 간단하게 데이터 전달.예시:💡 참고Model은 DispatcherServlet이 뷰 이름을 자동으로 추론합니다.
Validation(검증)은 클라이언트로부터 전달받은 데이터가 유효한지 확인하는 과정입니다.단순한 입력 체크를 넘어, 서비스의 데이터 무결성과 보안을 지키기 위한 첫 번째 방어선입니다.
스프링에서 제공하는 기본 검증 어노테이션(@NotNull, @Size 등)만으로는복잡한 비즈니스 검증 로직을 처리하기 어려운 경우가 많습니다.
2025-04-24유효성 검사(Validation)란? 사용자의 입력값이 적절한지 서버에서 검증하는 과정. @Valid : DTO에 선언된 검증 애노테이션을 기반으로 자동 검증 수행.BindingResult : 검증 결과를 받아 에러 처리 및 로직 분기.
Spring 데이터 바인딩 과정에서 문자열 데이터를 원하는 타입으로 변환해주는 클래스.주로 사용자 입력값(String)을 LocalDate, 정제된 String 등으로 변환할 때 사용.
Spring 데이터 바인딩 과정에서 문자열 데이터를 원하는 타입으로 변환해주는 클래스.주로 사용자 입력값(String)을 LocalDate, 정제된 String 등으로 변환할 때 사용.@InitBinder와 함께 특정 필드에만 적용 가능.
시스템 간 소통을 위한 인터페이스API (Application Programming Interface)API는 소프트웨어와 소프트웨어가 기능이나 데이터를 주고받기 위해 정해놓은 규칙(인터페이스)입니다
2025-04-24@ExceptionHandler는 스프링 MVC에서 특정 컨트롤러 내 예외를 처리하는 어노테이션.발생할 수 있는 예외 타입을 지정해두고, 예외 발생 시 해당 메서드가 호출됨.반환값으로 View 이름을 리턴하여 에러 페이지로 이동.
2024-04-24DataSource는 DB 연결(Connection) 을 효율적으로 관리하기 위한 JDBC 표준 인터페이스입니다.
2025-04-25 DB 연결을 효율적으로 관리하기 위해 사용하는 기술.대표적인 커넥션 풀: DBCP2, HikariCPSQL과 자바 메서드를 연결해주는 매핑 인터페이스.MyBatis에서 SQL 실행을 담당
2025-04-25 DB 연결을 효율적으로 관리하기 위해 사용하는 기술.대표적인 커넥션 풀: DBCP2, HikariCPSQL과 자바 메서드를 연결해주는 매핑 인터페이스.MyBatis에서 SQL 실행을 담당.pom.xml - 라이브러리 설정root-context.xml
2025-04-25MyBatis는 SQL 중심의 퍼시스턴스 프레임워크로,복잡한 JDBC 코드를 대체해 SQL과 자바 객체를 매핑해주는 역할을 한다.그 중심에 있는 것이 바로 Mapper!Mapper는 자바 메서드와 SQL을 연결해주는 인터페이스로,XML 또는 어노테이션
2025-04-25MyBatis에서 XML 매퍼는 SQL을 외부 파일(XML)로 분리하여 작성하는 방식으로,복잡한 SQL, 동적 쿼리, 유지보수가 필요한 프로젝트에서 필수적으로 사용됩니다.💡 Tip:어노테이션 방식은 단순 작업에,XML 매퍼는 확장성과 유지보수를 고려
2025-04-25데이터베이스에서는 각 레코드를 식별하기 위해 기본 키(Primary Key) 가 필요합니다.MyBatis에서는 INSERT 시 자동 또는 수동으로 키를 생성하여 객체에 주입할 수 있도록 다양한 전략을 제공합니다.💡 Tip데이터베이스가 제공하는 자동
2025-04-25MyBatis는 SQL을 직접 다루는 프레임워크이기 때문에,설정 실수, 경로 오류, SQL 구문 오류 등 사소한 실수가 쉽게 발생할 수 있습니다.하지만, 이러한 오류는 패턴화된 실수가 많아 미리 알고 대비하면 충분히 예방할 수 있습니다.원인: XML
2025-04-25동적 SQL(Dynamic SQL)은 조건에 따라 SQL문이 유동적으로 생성되는 기능입니다.복잡한 검색 조건, 선택적 필터링이 필요한 경우에 필수적으로 사용됩니다.💡 예시 상황검색창에서 입력한 값에 따라 WHERE 조건이 달라질 때특정 파라미터가 있
2025-04-25MyBatis Mapper는 DB와 직접 연결되기 때문에,SQL 문법 오류, 파라미터 매핑 오류, 결과 매핑 오류가 런타임에 발생합니다.💡 테스트 코드를 작성함으로써개발 단계에서 문제를 조기에 발견하고,안정적인 DB 연동을 보장할 수 있습니다!MyB
2025-04-28스프링 트랜잭션은 데이터의 일관성과 무결성을 보장하기 위해 사용.여러 작업을 하나의 논리적 단위로 묶어 처리하며, 오류 발생 시 전체 작업을 Rollback.
2025-04-28 @RestController는 스프링에서 RESTful API를 구현할 때 사용하는 어노테이션.반환 데이터를 View가 아닌, HTTP Response Body로 직접 전송.주로 JSON, XML, Plain Text 형태로 응답.설명JSON, XM
2025-04-28스프링의 @RestController를 활용하여 메모 관리 API 구현.CRUD 중 조회(GET), 등록(POST) 기능 위주로 실습
2025-04-28RESTful API: HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용해 자원을 관리하는 아키텍처 스타일.Axios: Promise 기반의 JavaScript HTTP 클라이언트로, 비동기 통신을 쉽게 구현할 수 있음.
2025-04-28웹 애플리케이션에서 파일 업로드란 사용자가 서버로 파일을 전송하는 과정.
2025-04-28다운로드 기능은 Resource 객체를 통해 파일을 읽고, 적절한 헤더를 추가하여 클라이언트로 반환하는 방식으로 구현한다.파일명에 한글이나 특수문자가 포함되어 있을 경우 반드시 UTF-8 ➔ ISO-8859-1 인코딩을 적용하여 깨짐을 방지해야 한다.
2025-04-29스프링 MVC 요청 처리 흐름에 개입할 수 있는 가로채기 기능컨트롤러 실행 전/후, 뷰 렌더링 후에도 개입 가능주로 인증/인가, 로깅, 공통 데이터 처리 등에서 활용서브컨트롤러별로 필터링할 수 있는 기능을 추가하는 것이라고 이해하면 됨preHandle
Spring MVC에서 클라이언트 요청을 받아 어떤 핸들러(컨트롤러)로 전달할지 결정하는 전략 인터페이스DispatcherServlet → HandlerMapping → Controller 호출 구조대표적인 구현체:BeanNameUrlHandlerMappingSimpl
2025-04-29특정 시간 간격 또는 특정 시점에 자동으로 작업을 수행하도록 만드는 기능이다.Spring에서는 @Scheduled 어노테이션을 사용하여 간편하게 스케줄링 작업을 구현할 수 있다.기본적으로 별도의 스레드 풀(1개 스레드)에서 비동기로 실행된다.root-
2025-04-29AOP (Aspect Oriented Programming, 관점 지향 프로그래밍) 핵심 로직과 공통 관심사를 분리하는 프로그래밍 방법론이다.
2025-04-29✅ Spring Security는 인증(Authentication) 과 권한(Authorization) 을 처리하는 강력하고 확장 가능한 보안 프레임워크이다.
2025-04-30🔒 {noop}은 비암호화된 평문 비밀번호 설정이므로, 실무에서는 해싱 필수입니다.정의: 사용자가 의도하지 않은 요청을 특정 사이트로 보내게 하는 공격목적: 사용자의 인증 정보를 도용해, 의도하지 않은 '정보 변경, 삭제'를 수행실제 사례: 옥션 개
2025-04-30PasswordEncoder를 통해 비밀번호를 암호화하고, 기본 권한을 설정해 DB에 저장한다.RedirectAttributes.addFlashAttribute()를 사용하면 세션 기반 임시 메시지를 다른 페이지에서 출력 가능하다.
2025-04-30Spring Security에서 사용자가 로그인하면 다음과 같은 인증 절차가 진행됩니다
2025-04-30✅ 인증 정보는 Controller, View(JSP) 어디서든 접근 가능하지만,보안 처리는 Controller/Service에서, UI 출력은 JSP에서 분리하는 것이 유지보수에 유리함
2025-04-30Spring Security에서 인증(Authentication)과 권한(Authorization) 처리 과정에서 발생할 수 있는 예외 상황을 핸들러로 세분화하여 처리한다
2025-04-30로그인 상태를 일정 시간 동안 유지해주는 자동 로그인 기능세션이 만료되거나 브라우저를 닫아도, 쿠키와 토큰을 기반으로 로그인 상태가 유지된다.