스프링

· JPA
엔티티 수정하기 - 변경감지 EntityManager em = emf.createEntityManager(); EntityTransaction transaction = em.getTransaction(); transaction.begin(); // 트랜잭션 start //영속 엔터티 조회 Member memberA = em.find(Member.class, "memberA"); //영속 엔터티 데이터 수정 memberA.setUsername("hi"); memberA.setAge(10); //JPA는 업데이트 함수가 따로 있을까? transaction.commit(); // 트랜잭션 commit 변경 감지 (Dirty Checking) 1. flush 함수 호출 2. 엔티티와 스냅샷 비교 JPA는 영속 ..
· Spring
본 포스팅은 학습용으로, 김영한 님의 강의를 바탕으로 복습용도로 작성되었습니다. 스프링 컨테이너에 프로토타입 스코프의 빈을 요청하면 항상 새로운 객체 인스턴스를 생성해서 반환한다. 그렇다면 싱글톤 빈에서 프로토 타입 빈을 사용하는 경우는 어떻게 동작할까? 싱글톤 빈에서 프로토타입 빈 사용 싱글톤 빈에서 프로토타입 빈을 사용하면 다음과 같은 문제가 발생한다. clientBean은 싱글톤이므로, 스프링 컨테이너 생성 시점에 함께 생성되고, 의존관계 주입도 발생 clientBean은 의존관계 자동 주입을 사용한다. 주입 시점에 스프링 컨테이너에 프로토타입 빈을 요청한다. 스프링 컨테이너는 프로토타입 빈을 생성해서 clientBean에 반환한다. 프로토타입 빈을 요요청한다. 이제 clientBean은 프로토타입..
· Spring
본 포스팅은 학습용으로, 김영한님의 강의를 바탕으로 복습용도로 작성되었습니다. 빈 스코프 빈이 존재할 수 있는 범위 스프링 빈이 스프링 컨테이너의 시작과 함께 생성되어 스프링 컨테이너가 종료될 때까지 유지된다. → 기본적으로 스프링은 싱글톤 스코프로 생성되기 때문이다. 스코프 종류 싱글톤 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여, 매우 짧은 범위의 스코프 웹 스코프 request : 웹 요청이 들어오고 나갈때 까지 유지되는 스코프 session : 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프 application 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프 프로토타입과 싱글..
· Spring
본 포스팅은 학습용으로, 김영한 님의 강의를 바탕으로 복습용도로 작성되었습니다. 웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생 대부분의 스프링 애플리케이션은 웹 애플리케이션 → 물론 웹 아닌 애플리케이션도 개발 가능 웹 애플리케이션은 보통 여러 고객이 동시에 요청 순수 DI 컨테이너 테스트 SingletonTest public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회 : 호출 할 때 마다 객체 생성 MemberService memberService1 = appConfi..
· Spring
본 포스팅은 학습용으로, 김영한 님의 강의를 바탕으로 복습용도로 작성되었습니다. 스프링 컨테이너 생성 스프링 컨테이너 생성 과정 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 스프링 컨테이너 인터페이스 스프링 컨테이너 XML 기반 애노테이션 기반의 자바 설정 클래스로 만들 수 있다. AnnotationConfigApplicationContext ApplicationContext 인터페이스를 구현한 구현체 1. 스프링 컨테이너 생성 스프링 컨테이너를 생성 시, 구성 정보를 지정해주어야 한다. AppConfig.class @Configuration ..
· Spring
본 포스팅은 학습용으로, 김영한 님의 강의를 바탕으로 복습용도로 작성되었습니다. 스프링의 역사 2022년 로드 존슨 책 출간 → EJB의 문제점 지적 EJB 없이도 충분히 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여주고, 3만 라인 이상의 기반 기술을 예제 코드로 선보였다. 여기에 지금 스프링의 핵심 개념과 기반코드가 들어가 있다. BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입개념이 생성되었다. 책 출간 직후, 유겐 휠러와 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안하면서 탄생하였다. 스프링의 핵심 코드의 상당수는 지금도 유겐 휠러가 개발 중이다. 스프링이라는 이름은 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 시작이라는 뜻으..
· Spring
🧑🏻‍💻 Spring MVC 정의 Spring에서 제공하는 웹 모듈로서, Model ,View, Controller 로 구성된다. 사용자의 다양한 HTTP Request를 처리하고, 단순 텍스트의 응답에서부터 REST 형식의 응답은 물론 VIEW를 표시하는 HTML file을 반환하는 응답까지 다양한 응답을 제공한다. 🔨 Spring MVC 특징 Spring MVC는 기본요소인 Model, View, Controller 외에도, 아래와 같은 특성을 가지고 있다. DispatcherServlet, HandlerMapping, Controller, Interceptor, ViewResolver, View등 각 컴포넌트들의 역할이 명확하게 분리되어 있다. HandlerMapping, Controller, Vi..
· Spring
본 게시글은 스프링 5 프로그래밍 입문 책을 복습하는 용도로 게시되었음을 알려드립니다. 💡 의존 DI : Dependency Injection의 약자, 우리말로 의존 주입 → 객체 간 의존 한 클래스가 다른 클래스의 메서드를 실행할 때 의존이라고 표현한다. 한 클래스가 다른 클래스의 메서드를 실행 할 때 의존이라고 표현한다. 💡 회원 데이터 관련 클래스 Member WrongIdPasswordException MemberDao 💡회원 가입 처리 관련 클래스 DuplicateMemberException RegisterRequest MemberRegisterService 💡 암호 변경 관련 클래스 MemberNotFoundException ChangePasswordService 🧑🏻 회원 데이터 관련 클래스..
· Spring
⭐ 메이븐 프로젝트의 핵심! pom.xml! 메이븐 프로젝트에 대한 설정 정보를 관리하는 파일 프로젝트에서 필요로 하는 의존 모듈이나 플러그인 등에 대한 설정 💡 Maven - pom.xml 4.0.0 sp5 sp5-chap02 0.0.1-SNAPSHOT org.springframework spring-context 5.0.2.RELEASE maven-compiler-plugin 3.7.0 1.8 1.8 utf-8 💡 해석 프로젝트 식별자 sp5-chap02 5.0.2.RELEASE 버전의 spring-context spring-context라는 식별자를 가진 5.0.2.RELEASE 버전의 아티팩트에 대한 의존(dependeny) 추가 spring-context-5.0.2.RELEASE.jar 파일 추..
runnnerDevHong
'스프링' 태그의 글 목록 (3 Page)