[Spring] Spring Framework
·
Back-End/Back-End
[작성일: 2023. 04. 15]  Framework뼈대나 근간을 이루는 코드들의 묶음개발자들은 개인별 능력자가 크고, 개발자 구성에 따라 프로젝트 성패가 좌우됨.이런 상황을 극복하기 위한 코드의 결과물이 프레임워크라고 할 수 있음.프로그램의 기본적인 흐름이나 구조는 정해져 있고, 여기에 자신의 코드를 추가하는 방식으로 개발함.    Framework의 장점개발에 필요한 구조를 이미 코드로 구현해 놓았기 때문에 실력이 부족한 개발자라고 하더라도 일정 부분 완성한 상태에서 필요한 부분을 조립하는 형태의 개발이 가능함.기업 입장에서는 일정한 품질이 얻어지는 결과물을 기대 가능함.개발자 입장에서는 완성된 구조에 자신의 코드를 개발해서 넣기 때문에 개발 시간을 단축시킬 수 있음.     Spring Frame..
[스프링 핵심 원리 - 기본편] 스프링 핵심 원리 이해(3)
·
Back-End/Spring
[작성일: 2023. 08. 02] 제어의 역전 loC(Inversion of Control)기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다.반면에 AppConfig를 생성하고 난 후에 구현 객체는 자신의 로직을 실행하는 역할만 담당하게 되어 AppConfig가 프로그램의 제어 흐름을 가져가게 된다. 예를 들어 OrderServiceImpl은 필요한 인터페이스들을 호출하지만 어떤 구현 객체들이 실행될지 알 수 없다는 것이다. 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(loC)라고 한다.   프레임워크 vs 라이브러리프레임워크가 내가 작성한 코드를 제어하고 대신 실행하면 프레임워크(Junit)내가 작성한 코드가..
[스프링 입문] 스프링 빈과 의존관계(2)
·
Back-End/Spring
[작성일: 2023. 05. 15] 컴포넌트 스캔과 자동 의존관계 설정자바 코드로 직접 스프링 빈 등록하기회원 서비스와 회원 리포지토리의 @Service, @Repository, @Autowired 애노테이션을 제거하고 진행해야 한다.XML로 설정하는 방식도 있지만 최근에는 잘 사용하지 않는다.DI에는 필드 주입, setter 주입, 생성자 주입이 있다.의존관계가 실행중에 동적(런타임 중에 바뀌는 것)으로 변하는 경우는 거의(아마도 99%) 없으므로 생성자 주입을 권장한다.setter 주입은 누구나 호출할 수 있게 열리기 때문에 권장하지 않는다.실무에서는 주로 정형화(일반적인) 된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔을 사용한다.정형화 되지 않거나 상황에 따라 구현 클래스를 변경해야 ..
[스프링 입문] 스프링 빈과 의존관계(1)
·
Back-End/Spring
[작성일: 2023. 05. 15]  컴포넌트 스캔과 자동 의존관계 설정스프링 빈 등록하고 의존관계 설정하기회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비한다.Controller : MemberService를 통해서 회원가입 하고 MemberService를 통해 데이터를 조회할 수 있어야 하는데 이런 관계를 의존관계라고 한다. MemberController생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다.이렇게 객체 의존관계를 외부에서 넣어주는 것을 DI(Dependency Injection), 의존성 주입이라고 한다.이전 테스트에서는 개발자가 직접 주입했지만 이번에는 @Autowired에 의해 스프링이 주입해준다.@Contro..