필드를 통해 의존성 주입하는 예시를 통한 이해@Servicepublic class UserService { @Autowired private UserRepository userRepository; public void saveUser(String username) { userRepository.save(username); }}의존성:의존성은 어떤 클래스가 다른 클래스의 기능을 필요로 할 때 발생한다. 여기서 UserService 클래스는 UserRepository 클래스에 의존한다. 즉, UserService는 UserRepository의 기능을 사용해야 한다. 의존성 주입:의존성 주입은 외부에서 객체의 의존성을 제공하는 설계 패턴이다. 이를 통해 객체 간의 결합도를 낮..

📖 스프링 컨테이너ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);ApplicationContext = 스프링 컨테이너ApplicationContext 는 인터페이스지금은 스프링 컨테이너를 애노테이션(@) 기반의 자바 설정 클래스로 만든 형태. xml 기반으로도 만들 수 있음new AnnotationConfigApplicationContext(AppConfig.class); 이 클래스는 ApplicationContext 인터페이스의 구현체이다더 정확히는 Beanfactory와 ApplicationContext를 구분해야 함.📖 스프링 컨테이너의 생성 과정 - 스프링 컨테이너 생..

📖 비즈니스 요구사항 및 설계 회원가입 및 조회 기능 회원의 등급 - 일반/VIP, 등급에 따른 할인정책 적용, VIP는 1000원 할인 회원 상품 주문 가능 모든 할인 정책은 변경 가능성 높으므로 인터페이스와 구현체를 이용해 구현 📖 회원 도메인 설계 클라이언트가 회원 서비스를 호출하면 회원 서비스는 회원 가입, 회원 조회 기능을 제공 회원 데이터가 있는 저장소는 는 자체 db구축할지, 외부 시스템 연동할지 미확정이기 때문에 역할과 구현을 분리해 저장소를 무엇으로 할지 결정하면 그 구현체만 교체할 수 있도록 설계 📖 회원 클래스와 객체 다이어그램 MemberService, MemberRepository : 회원 서비스와 회원 저장소라는 역할, 인터페이스 형태, 그 역할의 구현체는 클래스 형태의 구현체가..

컴퓨터의 퍼포먼스 Application SW, System SW, Hardware 위 그림이 세 항목의 관계를 설명한 그림이지만, 항상 응용프로그램이 시스템 소프트웨어를 거쳐서 실행되는 것은 아님. 응용프로그램이 직접적으로 하드웨어를 통해 실행되는 경우도 많다 컴퓨터 시스템 소프트웨어 일반적으로 하드웨어, 컴퓨터 아키텍쳐, 컴파일러 등 사용자가 컴퓨터 사용할 때 원활한 경험을 제공 컴파일러 : HLL(high level long code) 코드를 machine code로 바꿔줌 운영 체재(Operating System) : service code, 서비스 제공, input,output, 관리, memory storage 관리, 리소스 및 task 스케줄링, 사용자 어플리케이션 실행할 때 하드웨어를 직접 ..