이때까지 자바만을 이용해서 구현 객체는 자신의 로직만을 실행하고 프로그램의 제어 흐름은 AppConfig가 하도록 프로그램을 작성하였다. 그리고 이렇게 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(Inversion of Cont
: 역할과 구현으로 세상을 구분다른 대상으로 변경가능하고 변경해도 기존 역할을 따라 할 수 있으면 무한히 확장가능하다.\-> 다른 기종의 자동차로 바꾸어도 운전자는 기존의 차를 사용하던 것처럼 바꾼 자동차도 같은 방식으로 운전할 수 있다.클라이언트에 영향을 주지 않고
프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것프레임워크가 내가 작성한 코드를 제어하고, 대신 실행하면 그것은 프레임워크가 맞다. (ex.JUnit)반면에 내가 작성한 코드가 직접 제어의 흐름을 담당한다면 그것은 프레임워크가 아니라 라이브러리다.
ApplicationContext 은 인터페이스이므로 다형성이 적용이 되어있다.AnnotationConfigApplicationContext 는 ApplicationContext 의 구현체 중 하나이다.AnnotationConfigApplicationContext 는
: 객체가 JVM안에 하나만 있어야 하는 것 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다.스프링 컨테이너도 싱글톤 컨테이너이다.스프링 컨테이너는 인스턴스를 싱글톤(1개만 생성)으로 관리한다웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다.
핸들러 어댑터 : 중간에 어댑터 역할을 하고, 다양한 종류의 컨트롤러를 호출할 수 있다.핸들러: 더 넓은 범위인 컨트롤러핸들러 매핑과 핸들러 어댑터가 어떤 것들이 어떻게 사용되는지 알아보자.Controller 인터페이스 구현HttpRequestHandler 인터페이스
참고: https://veneas.tistory.com/entry/Spring-Boot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1-startspringio
✏
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=writer0713&logNo=221379512536
https://jung-story.tistory.com/128
Spring boot와 MySQL 데이터베이스 연결mybatis를 이용mybatis는 sql명령어를 관리해주는 편리한 라이브러리이다.sql명령어를 매번 문자열로 지정해서 하나하나 적어주는 방식보다 유지보수가 좋고, 효율성이 좋다. 그래서 mybatis를 통해 관리해줄
https://okky.kr/articles/324017
타임리프 정리
타임리프 정리
Model은 어디서 오는?어디에서 만들어지는?생명주기는?사용 방법은?실생활에서도 자주 쓰여지는지?
JSON.stringifyJSON -> 객체JSON.parse객체 -> JSON참고자바스크립트로 JSON 다루기https://inpa.tistory.com/entry/JSON-%F0%9F%93%91-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%
Controller, Service, ServiceImpl,DAO,VO란?
< th:action >
매일처럼 j2kb 동아리에서 spring 서브젝트를 진행하고 있었다. 내 발표 때 내가 만들고 있는 spring 게시판을 보여주었다. 보여준 상세한 기능은 select \* from ${table} 을 수행한 결과인데, 한 현직자분께서 ${}가 아닌 처음에는 단순히 쿼
스프링 로그인 처리 - 쿠키, 세션
객체와 테이블을 제대로 설계하고 매핑하기기본키와 외래키 매핑1:N, 1:1, N:M 매핑성능 고려JPA 내부 동작 방식 이해위의 코드중 회원 단건 조회 코드를 보면, setter함수로 값을 바꾸로 따로 em.persist(findMember); 로 따로 저장해주지 않는
JPA 알아야 할 내용jpa 내부 동작 방식(영속성 컨텍스트)설계적인 측면(객체와 관계형 데이터를 어떻게 매핑해서 쓰는지)연관관계 매핑 \->어떤것이 어떤 것에 속해있는지@Entity가 붙은 클래스는 테이블과 매핑할 클래스기본 생성자 필수(파라미터가 없는 public
목표• 객체와 테이블 연관관계의 차이를 이해• 객체의 참조와 테이블의 외래 키를 매핑 \- 객체의 참조: member.getName() \- 테이블의 외래키: Order안의 memberId• 방향(Direction): 단방향, 양방향• 다중성(Multiplicity):
내 기대:하지만 자꾸 받아지는 값은 false만 나왔다. 이를 통해 userMessage에 내가 기대했던 대로 message1값만 들어가지 않는다는 것을 알았다.이와 관련해 @RequestBody에 대해 찾아보니 아래와 같았다.스프링 컨트롤러의 핸들러 메서드에서 사용