본문 바로가기
반응형

Java/[스프링 핵심 원리]8

[스프링 핵심 원리] 스프링 설정 파일 알아보기 - BeanFactory와 ApplicationContext, BeanDefinition 이번 포스트에서는 BeanFactory와 ApplicationContext가 무엇인지 그리고 어떤 관계가 있는지 알아볼 것이다. 또한 다양한 형식의 구성 파일을 자유롭게 사용할 수 있는 이유와 BeanDefinition에 대해서 알아보자. BeanFactory와 ApplicationContext BeanFactory는 스프링 컨테이너의 최상위 인터페이스이며, getBean()을 비롯하여 스프링 빈을 관리하고 조회하는 역할을 담당한다. ApplicationContext는 BeanFactory의 기능을 모두 상속받아서 제공한다. 동시에 다른 여러 가지 인터페이스를 상속받으며 기타 많은 부가기능을 제공한다. 몇 가지 예를 들자면 환경변수 관리, 애플리케이션 이벤트, 편리한 리소스 조회 기능 등이 있다. 정리하.. 2021. 12. 8.
[스프링 핵심 원리] 스프링 컨테이너와 스프링 빈 이전 포스트에서는 간단한 자바 프로젝트를 만들어 객체 지향 원리를 적용해보았다. 이번 포스트에서는 프로젝트에 스프링을 간단히 적용해볼 것이며, 스프링 컨테이너와 스프링 빈에 대해서 알아보도록 하자. 스프링 컨테이너와 스프링 빈 스프링으로 전환하기 package hello.core; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; public class AppConfig { public MemberService memberService(){ r.. 2021. 12. 7.
[스프링 핵심 원리] JAVA 프로젝트에 OOP 원리 적용하기 (SRP, OCP, DIP) 앞선 포스팅에서 스프링 프레임워크와 객체 지향 설계의 SOLID 원칙의 관계에 대해 알아보았다. 이번 포스트에서는 순수 자바로 된 예제 코드를 작성한 뒤 여기에 객체 지향의 원리를 적용해볼 것이며, 그 후에는 이를 스프링으로 간단히 전환해 보겠다. 이전 포스트 -> [스프링 핵심 원리] 객체 지향 SOLID 원칙과 Spring의 관계 JAVA 프로젝트 설계하고 구현하기 공부를 위해 간단히 정리하여 남기는 목적이라, 강의에서보다 더 단순한 예제를 만들어볼 것이다. 예제 프로젝트 요구사항 회원은 가입하고 조회할 수 있다. 회원 데이터는 자체 DB를 구축할 수도 있고, 외부 시스템과 연동할 수 있다. (미확정) 요구사항을 보면 '미확정'인 부분이 있다. 이는 추후 서비스 기획에 따라 언제든지 바뀔 수 있다. .. 2021. 12. 5.
[스프링 핵심 원리] 객체 지향 SOLID 원칙과 Spring의 관계 스프링은 제어의 역전, 의존관계 주입을 통해 다형성을 극대화해서 이용할 수 있게 도와준다. 스프링을 사용하면 역할과 구현을 편리하게 다룰 수 있는 것이다. 이처럼 스프링은 객체 지향 프로그래밍과 밀접한 관련이 있다. 객체 지향 설계의 5원칙 (SOLID 원칙) 1. SRP (Single Responsibility Principle: 단일 책임 원칙) 한 클래스는 하나의 책임만 가져야 한다. 여기서 말하는 하나의 책임이란 매우 모호하다. 클 수도 있고, 작을 수도 있고 문맥과 상황에 따라 달라진다. 따라서 이를 적절히 잘 조정하는 것이 기술이다. 이 책임이란 것에 대한 중요한 기준은 바로 "변경"이다. 변경이 생겼을 때 그에 따른 파급 효과가 적으면 SRP를 잘 따른 것이라고 볼 수 있다. 2. OCP (.. 2021. 12. 3.
반응형