Spring40 [Spring] 싱글톤 방식의 주의점 객체 인스턴스를 하나만 생성해서 공유하는 싱글톤 방식은 여러 클라이언트가 하나의 같은 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지하게 설계하면 안 된다. -> 무상태(satateless) 상태로 설게해야 한다특정 클라이언트에 의존적인 필드가 있으면 안된다.특정 클라이언트가 값을 변경할 수 있는 필드가 있으면 안된다.가급적 읽기만 가능해야 한다.필드 대신에 자바에서 공유되지 않는 지역변수, 파라미터, TreadLocal 등을 사용해아 한다. 문제점 예시package hello.core.singleton;public class StatefulService { private int price; public void order (String name, int price){ .. 2025. 6. 9. [Spring] 스프링 빈 스프링 빈 조회 - 상속관계BeanFactory와 Application다양한 설정 형식 원 - 자바코드, XML스프링 빈 설정 메타 정보 - BeanDefinition 스프링 빈 조회 - 상속 관계- 부모 타입으로 조회하면, 자식 타입도 함께 조회한다.- Object 타입으로 조회하면 모든 스프링 빈을 조회한다. package hello.core.beanfind;import hello.core.discount.DiscountPolicy;import hello.core.discount.FixDiscountPolicy;import hello.core.discount.RateDiscountPolicy;import hello.core.member.MemberService;import hello.core.me.. 2025. 1. 20. [Spring] 스프링 컨테이너 스프링 컨테이너가 생성되는 과정을 알아보자. 스프링 컨테이너 생성컨테이너에 등록된 모든 빈 조회스프링 빈 조회 - 기본스프링 빈 조회 - 동일한 타입이 둘 이상 스프링 컨테이너 생성//스프링 컨테이너 생성ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext를 스프링 컨테이너라고 한다.ApplicationContext는 인터페이스이다.스프링 컨테이너는 XML을 기반으로 만들 수 있고, Annotation 기반의 자바 설정 클래스로 만들 수 있다. 스프링 컨테이너의 생성과정 스프링 컨테이너를 생성할 때는 구성 정보를 지정해주어야 한다.AppCo.. 2025. 1. 8. [Spring] 객체 지향 원리 적용 - Appconfig 리팩터링 Appconfig 리팩터링package hello.core;import hello.core.discount.DiscountPolicy;import hello.core.discount.FixDiscountPolicy;import hello.core.member.MemberRepository;import hello.core.member.MemberService;import hello.core.member.MemberServiceImpl;import hello.core.member.MemoryMemberRepository;import hello.core.order.OrderService;import hello.core.order.OrderServiceImpl;public class AppConfig { pu.. 2024. 12. 24. 이전 1 ··· 5 6 7 8 9 10 다음