스프링강의 66

ocp(개방-폐쇄 원칙)

개방-폐쇄 원칙(open-closed principle)은 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해선 닫혀 있어야 한다는 프로그래밍의 원칙이다. 소프트웨어 개발 작업에 이용된 많은 모듈 중에 하나에 수정을 가할때 그 모듈을 이용하는 다른 모듈을 줄줄이 고쳐야한다면 이와 같은 프로그램은 수정하기가 어렵다. 개방폐쇄 원칙은 시스템의 구조를 올바르게 재조직(리팩토링)하여 나중에 이와 같은 유형의 변경이 더 이상의 수정을 유발하지 않도록 하는것이다. 개방폐쇄원칙이 잘 적용되면 기능을 추가하거나 변경해야할때 이미 제대로 동작하고 있던 원래 코드를 변경하지 않아도 기존코드에 새로운 코드를 추가함으로써 기능의 추가나 변경이 가능하다. ​

스프링강의 2021.07.04

인프런 Boot강의 보고..

Intellij 단축키 파일 검색 Cmd + shift + o 객체 자동완성 Cmd + option + v 리턴 인라인 Control + T ​ Jpa를 사용할때는 무조건 @Transactional이 있어야한다(데이터를 저장하거나 변경할땐 항상 트랜잭션이 있어야함) 인터페이스가 인터페이스를 받을땐 extends를 쓴다 Aop란 공통관심사와 핵심관심사를 분리하는것 원하는곳에 공통관심 사항 적용 Aop는 @aspect라는것을 적어줘야한다 ​ aop적용 전 의존 관계는 컨트롤러에서 서비스를 호출할때 그냥 하는데 aop에 적용할 클래스를 적고(여기서는 service를 적었다) 런을 하면 컨트롤러에서 서비스를 호출할때 스프링은 프록시라는 가짜 서비스를 만든다 스프링빈을 등록할때 가짜 스프링빈을 먼저 앞으로 세우고..

스프링강의 2021.07.04

LOMBOK(롬복) @RequiredArgsConstructor

롬북에서 지원하는 @RequiredArgsConstructor = 생성자 자동주입. 이걸 클래스 위에 선언해주면 생성자는 따로 만들지 않아도 된다. autowired할 객체들은 final로 만들어 준다. ex) lombok을 안썼을때 @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy){ this.memberRepo..

스프링강의 2021.06.21

Bean 의존 관게 설정 법 /property와 constructor-arg 차이 - 사좋배 공유

빈을 등록하다보면 constructor-arg를 쓸때가 있다 어떨때 property를 사용하고 어떨때 constructor-arg를 사용하는지 알아보자. Setter Injection:태그 Setter메소드를 통해 의존 관계가 있는 Bean을 주입하려면 태그를 사용할수있다. - ref 속성을 사용하면 Bean 이름을 이용해 주입할 Bean을 찾는다. - value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다. Constructor Injection : 태그 Constructor를 통해 의존 관계가 있는 Bean을 주입하려면 태그를 사용 할 수 있다. Constructor 주입 방식은 생성자의 파라미터를 이용하기 때문에 한번에 여러개의 객체를 주입할 수 있다. - index 속성을 사용..

스프링강의 2021.06.19