Spring/SPRING 개념(6)
-
SPRING] SOLID
SOLID SRP : 단일책임원칙 (single responsibility principle) OCP : 개방-폐쇄 원칙 LSP : 리스코프 치환 원칙 ISP : 인터페이스 분리원칙 DIP : 의존관계 역전 원칙 SRP 단일책임원칙 하나의 클래스는 단 하나의 책임만 가져야 한다. 클래스가 여러가지 역할을 수행하게 되면 코드를 이해하기 어려워 지고 수정이 필요한 경우 다른기능에도 영향을 주게 된다. 변경을 했을때 파급효과가 적으면 단일책임원칙을 잘 따른것이다. 예시: 주문처리와 결제기능을 담당하는 클래스가 하나의 클래스에 합쳐져 있을때 SRP에 위배된다. 각각 주문처리와 결제기능을 따로 넣어야한다. // SRP (단일 책임 원칙) 예제 // 주문을 처리하는 클래스 class OrderProcessor { ..
2023.06.08 -
SPRING) 제어권의 역전
일반적인 의존성에대한 제어권 : 내가 사용할 의존성은 내가 만든다 . class OwnerController { private OwnerRepository = new OrnerRepository(); } 원래는 오너컨트롤러가 레파지토리의 의존성을 생성해서 제어권을 가진다. but 스프링의 IoC개념은 class OwnerController{ private OwnerRepository repo; public OwnerController(OwnerRepository repo){ this.repo = repo; } class OwnerContollerTest { @Test public void create(){ OwnerRepository repo = new Repository(); OwnerContoller..
2021.08.24 -
의존성주입이란
의존성 주입이란 class cafe { private Coffee coffee; public cafe(){ this.coffee = new Coffee(); } 자바에서는 카페클래스에서 커피라는 외부 클래스로부터 메소드를 가지고 오기 위해서는 coffee라는 클래스가 먼저 필요하다, 위 코드와 같이 설계하면, coffee클래스가 수정되면 cafe클래스도 같이 수정해줘야한다.
2021.08.10 -
[스프링] 뷰리졸버 설정 (dispatcher-servlet.xml)
dispatcher-servlet.xml InternalResourceViewResolver - 뷰이름으로부터 jsp나 tiles 연동을 위한 view 객체를 리턴 /web-inf/vies/뷰이름.jsp 를 뷰로 사용한다는 것을 의미한다 BeanNameViewResolver - 뷰 이름과 동일한 이름을 갖는 스프링의 애플리케이션 컨텍스트 객체를 view 객체로 사용 예를들어 밑의 controller 의 예제를 보면 , intro 이름을 가진 jsp 와 연결해준다 @GetMapping("/intro") public ModelAndView intro(Payload payload, @Valid Demand demand) { Permission permission = permissionProvider.fetch..
2020.04.13 -
스프링 어노테이션
dispatcherServlet에 을 추가하면 컨트롤러를 작성가능하게 한다. @어노테이션명- 사용할 수 있는곳 @Component -클래스 컨트롤러 객체임을 명시, 개발자가 직접 생성한 class . 클래스를 스프링에게 알아서 인스턴스 생성 후 등록 Spring ioc container에 bean을 등록하는 어노테이션. component를 사용한 bean의 의존성주입은 @Autowired어노테이션을 이용하여 할 수 있다. @Component @Transactional public class PermissionProvider extends BasePermissionProvider { @Controller public class HomeController { @Autowired private Permissi..
2019.10.13 -
spring 특징
1.Spring 1.Spring 특징 1. 의존성 주입.(DI) 기존의 JAVA에서는 인스턴트를 생성했다. (강하게 결합됨을 의미함) Instance instance = new Instance(); instance.ab 그러나 SPRING 에서는 단지 두개의 어노테이션으로 객체를 받아들일 수 있다. @Component : 클래스 선언부 앞에 선언, 빈으로 저장된다 @Autowired : 타입에 맞는 것과 연결시킨다.
2019.10.13