강의내용1.txt1\. 스프링 프레임워크란?(Spring Framework)1) 의존 주입(Dependency Inject : DI) 지원2) AOP(Aspect-Oriented Programming) 지원 \- 프록시(proxy) : 대신하다, 대리하다.3) MVC
스프링 DI 설정 및 사용1\. 스프링을 이용한 객체 조립과 사용2\. DI 방식1 : 생성자 방식3\. DI 방식2 : 세터 메서드 방식4\. @Configuration5\. @Bean 6\. 두 개 이상의 설정 파일 사용하기1) 생성자 매개변수2) @Import
@Configuration 애노테이션이 붙어 있는 클래스Appctx@Bean 애노테이션 : 메서드 👉 수동 등록 빈@ComponentScan("스캔범위") : 스프링 컨테이너가 생성할 객체의 클래스를 스캔할 범위AnnotationConfigApplicationCont

AOP 프로그래밍(Aspect Oriented Programming)spring-aop API aspectjweaver프록시(proxy)AOP1) @Aspect 2) @Pointcut \- execution 명시자 3) @Around@Order프록시 생성방식@Arou

JdbcTemplate1\. 설치 및 설정 1) spring-jdbc 2) tomcat-jdbc \- 커넥션 풀 \- 미리 연결 객체를 여러개 생성해서 필요할때마다 빌려주고, 회수하는 방식 \- 반응성, 성능 향상의 효과 spring-contextlombokDa
JDBC와 커넥션 풀 설정1\. JDBC 연결커넥션 풀 설정1) Tomcat JDBC를 사용한 설정2) HikariCP를 사용한 설정MyBatis와 스프링 연동1\. MyBatis 관련 라이브러리 추가1) spring-jdbc/spring-tx 2) mybatis/my

쿼리 메서드 제공CrudRepository 인터페이스를 상속 받은 인터페이스 RepositorySpring Data JDBC docsAppCtxMemberMemberRepositoryTest

요청(/hello) -> DispatcherServlet -> HandlerMapping -> 컨트롤러 빈(스프링 컨테이너) -> HandlerAdapter -> 컨트롤러 빈 -> 실행 -> ModelAndViewHandlerAdapter : 컨트롤러 빈의 종류가 다양
스프링 MVC : 요청 매핑, 커맨드 객체, 리다이렉트, 폼 태그, 모델요청 매핑 애노테이션을 이용한 경로 매핑@RequestMapping@GetMapping@PostMapping@PatchMapping@DeleteMapping@DeleteMapping요청 파라미터 접
메시지1) MessageSource2) ResourceBundleMessageSource3) 다국어 지원 위한 메시지 파일커맨드 객체 검증1) Validator 인터페이스 2) Errors \- 커맨드 객체 자체 오류에 대한 처리 -- reject("에러코드"); r
MemberControllerRequestLogin.javalogin.jspLoginValidatorLoginService
@SessionAttribute1) HandlerInterceptor 인터페이스 boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Except

@DateTimeFormat LocalDate, LocalTime, LocalDateTime ..형식이 일치 하지 않으면 예외 발생 메세지 코드 typeMismatch 발생 예외를 정의 예외발생시 특정 페이지를 노출 메서드에 자동 주입 발생한 예외 객체Model Htt

<form> 속성 : enctype="multipart/form-data"multipart 일반 양식 데이터의 파트 파일 데이터(바이너리 데이터) 파드 기본 양식 content-type application/x-www-form-urlencoded파일 업로드 경로
JSON(JavaScript Object Notation) : 자바스크립트 객체 표기업{"이름":"값", "이름":"값",...}jackson-databindjackson-datatype-jsr310 - Data & Time API - java.time 패키지Objec

타임리프(Thymeleaf)1\. 설정 thymeleaf-spring6 thymeleaf - java8time // JDK8 Date & TIME API -> thymeleaf layout :레이아웃 기능 특징Natural Template 원래 HTML과 서버사이드

스프링 부트 1. 소개 내장 서버를 이용해 별도의 설정 없이 독립 실행이 가능한 스프링 애플리케이션 톰캣, 제티 또는 언더토우와 같은 웹 애플리케이션(WAS) 자체 내장 빌드 구성을 단순화하기 위한 Spring Boot Starter 의존성 제공 XML 설정 없이 단순
JPA (Java Persistence API) : ORM 표준 (Object Relational Mapping)Hibernate Entity Manager자바 영속성 API 영속성 : 상태 변화 감지 메모리 : 데이터 값이 변경 : UPDATE 쿼리 : 없는
엔티티명 : 기본값 : 클래스명참고) JPQL(Java Persistence Query Language)name, value - 엔티티 명을 직접 설정 name : 테이블 명 : 엔티티 명 == 테이블명 실제 테이블명 CH_MEMBER, 클래스는 Member로 정의하

Repository DAO 클래스 대체 >데이터베이스 접근을 간편하게 할 수 있도록 여러 CRUD 메서드를 기본적으로 제공하는 기능을 갖고 있습니다. JpaRepository를 사용하면 별도의 구현 없이 간단히 데이터베이스 조작을 할 수 있습니다. 1. JpaRepo

비표준@Query 애노테이션 안에 JPQL 문법으로 문자열을 입력하기 때문에 잘못 입력하면 컴파일 시점에 에러를 발견할 수 없습니다. 👉 Querydsl사용settings.gradleQueryDslPredicateExecutor를 함께 상속 👉 기존 Reposito

@OneToMany 애노테이션에 orphanRemoval=true 옵션을 추가
설정된 주기별로 실행될 함수를 성정MvcConfig작업 완료 후 고정 시간 지연 간격고정 간격으로 실행작업 시간전 시간 간격 지연상세한 실행 주기를 설정0 0 \*/1 \*\*\* : 1시간 마다 실행 정각 실행0 30 13,18 \*\*\* 오후 1시 30분, 오후

QueryDSL 설정application.ymlapplication-prod.ymlapplication-test.ymlSecurityConfig개발할때는 값을 초기화하고 시작.HiddenHttpMethodFilter : HTML 폼을 통해 PUT, DELETE 등의 H