spring 6

스프링 스터디_마지막

빈 스코프 -스코프 : 빈이 존재할 수 있는 범위 -스프링은 다음의 다양한 스코프를 지원 1. 싱글톤 2. 프로토타입 3. 웹 관련 스코프 (request, session, application) -빈 스코프 지정 방법 1. 컴포넌트 스캔 자동 등록 @Scope("prototype") @Component public class HelloBean {} 2. 수동 등록 @Scope("prototype") @Bean PrototypeBean HelloBean() { return new HelloBean(); } 프로토타입 스코프 -프로토타입 스코프를 스프링 컨테이너에 조회하면 스프링 컨테이너는 항상 새로운 인스턴스를 생성해서 반환함 -싱글톤 빈 요청 1. 싱글톤 스코프의 빈을 스프링 컨테이너에 요청 2. 스프..

spring 2022.02.24

스프링 스터디 6주차

[다양한 의존관계 주입 방법] 1. 생성자 주입 생성자를 통해서 의존 관계를 주입 받는 방법 불변, 필수 의존관계에 사용 생성자가 1개만 있을 경우에는 @Autowired를 생략해도 자동 주입된다! 2. 수정자 주입(setter 주입) setter라는 필드의 값을 변경하는 수정자 메서드를 통해 의존관계를 주입 선택, 변경 가능성이 있는 의존관계에 사용 주입할 대상이 없어도 동작하게 하려면 @Autowired대신 @Autowired(required = false)사용 3. 필드 주입 필드에 바로 주입 외부에서 변경이 불가능 -> 테스트 하기 힘든 단점 --> 사용하지 말기!! 4. 일반 메서드 주입 일반 메서드를 통해 주입 받는다 한번에 여러 필드르 주입 받을 수 있음 ★ 의존관계 자동 주입은 스프링 컨테..

spring 2022.02.17

스프링 스터디 5주차

스프링 - 기업용 온라인 서비스 기술을 지원 대부분의 스프링 애플리케이션은 웹 애플리케이션이다 웹 = 여러 고객이 동시에 요청 = 고객이 3번 요청하면 객체가 3개 생성되는 것이다 = 요청이 올 때마다 계속 무언가를 만들어야 함 -> 해결 방안 : 싱글톤 패턴 (해당 객체가 딱 1개만 생성되고, 이미 만들어진 객체를 공유해서 효율적으로 사용하도록 설계) 싱글톤 패턴 = 객체 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 = 객체 인스턴스를 2개 이상 생성하지 못하도록 막는다 public class SingletonService { private static final SingletonService instance = new SingletonService(); public static Singl..

spring 2022.02.10

스프링 스터디 4주차

새로운 할인 정책 개발 RateDiscountPolicy를 추가한 후 클라이언트인 OrderServiceImpl 코드를 수정 //private final DiscountPolicy discountPolicy=new FixDiscountPolicy(); private final DiscountPolicy discountPolicy=new RateDiscountPolicy(); -> DIP, OCP 위반 private final MemberRepository memberRepository=new MemoryMemberRepository(); //private final DiscountPolicy discountPolicy=new FixDiscountPolicy(); //private final Discoun..

spring 2022.02.03

스프링 스터디 3주차

EJB ORM (자바 객체를 쿼리 없이 데이터베이스에 저장하는 것) 기술 가지고 있음 이론은 좋지만 실제로 복잡하고 어려움, 비쌈 EJB를 비판하면서 더 단순하고 좋은 방법을 제시함 = Spring 최근 사용하는 것 표준 인터페이스:JPA JPA의 구현체들 : 하이버네이트(가장 많음), EclipseLink, 기타 ... 지금 시대 -> 스프링과 JPA 두가지 모두 중요함 [스프링의 역사] EJB의 문제점을 지적하면서 만듦 2014년 스프링 부트 -> 스프링 설정 어려웠던 것들 해결 [스프링이란?] 스프링 생태계 스프링 프레임워크 - 위의 모든 것들을 편리하게 사용하도록 도와주는 것 / 가장 중요!! 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타 스프링 프레임워크를 편리하게 사용할 수 있도..

spring 2022.01.27

스프링 2주차 스터디

[웹 MVC 개발] 정적 컨텐츠 - 요청이 오면 관련 컨트롤러가 있는지 먼저 찾고 없으면 static 파일을 찾도록 되어있다. HomeController에서 먼저 찾아봄 -> mapping된 것이 있으면 해당 컨트롤러 호출하고 끝남 --> 다른 html 파일은 무시된다. @GetMapping("/members/new") //조회할 때 주로 사용 public String createForm(){ return "members/createMemberForm"; } @PostMapping("/members/new") //data를 form에 넣어서 전달할때 사용 public String create(MemberForm form){ Member member=new Member(); member.setName(fo..

spring 2022.01.20