목록백엔드/Spring (6)
가희의자기개발블로그
★ 스프링 MVC 스프링 MVC도 컨트롤러를 사용하여 클라이언트의 요청을 처리한다 스프링에서 DispatcherServlet 이 MVC에서 C(Control) 부분을 처리한다. 개발자가 처리할 부분은 클라이언트의 요청을 처리할 컨트롤러와 응답화면을 전송할 JSP나 Velocity 템플릿 등 뷰 코드이다 DispatcherServlet, HandlerMapping, ViewResolver등은 스프링이 기본적으로 제공하는 구현 클래스를 사용한다. 스프링 MVC의 구성 요소 1. DispatcherServlet 클라이언트의 요청을 전달 받는다 컨트롤러에게 클라이언트의 요청을 전달하고 Controller가 리턴한 결과값을 View에 전달하여 응답을 생성하도록 한다. 2. HandlerMapping 클라이언트의 ..
스프링은 JDBC를 비롯하여 ORM프레임워크(myBatis, hibernate, JPA(Java Persistence API))를 지원한다 스프링의 목표는 인터페이스에 의한 개발인데 DAO는 데이터베이스에서 데이터를 읽거나 쓰는 수단을 제공하기 위해 존재하며, 반드시 인터페이스를 통해 외부에 제공돼야 한다. 서비스 객체는 인터페이스를 통해서 DAO에 접근한다 서비스 객체를 특정 데이터 액세스 구현체에 결합시키지 않음으로써 테스트를 용이하게 한다 DAO인터페이스는 DAO구현과 서비스 객체 사이에서 느슨한 결합이 유지될 수 있게 한다 서비스 객체 → DAO 인터페이스 UserInsertService UserDAO ↑ DAO 구현 객체 UserDAOImpl 스프링은 데이터베이스 연동을 위한 템플릿 클래스를 제..
★ 스프링 AOP(Aspect Oriented Programming) - 관점지향프로그램 OOP(Object Oriented Programming) - 객체지향프로그램 객체지향은 중복성과 결합도를 낮추기 위해서 등장했지만 그래도 여전히 중복성이 있다. 그걸 보완하기 위해서 나온게 관점지향 프로그램이다. 주로 DB를 이용할때 사용한다. Aspect란 어플리케이션의 핵심 기능은 아니지만, 어플리케이션을 구성하는 중요한 요소이고, 부가적인 기능을 담당하는 요소 Aspect = Advice + Pointcut 어드바이저는 단순한 형태의 애스펙트라고 볼 수 있다 AOP란 어플리케이션의 핵심적인 기능에서 부가적인 기능을 분리해서 애스펙트라는 모듈로 만들어서 설계하고 개발하는 방법을 AOP(Aspect Oriente..
★ DI (Dependency Injection) 스프링의 핵심 개념 객체사이의 의존 관계를 자기 자신이 아닌 외부에 의해서 설정된다는 개념이다 스프링에서는 설정파일을 사용하여 손쉽게 객체간의 의존관계를 설정하기에 스프링을 DI컨테이너라고 부르기도 한다. DI 컨테이너는 어떤 클래스가 필요로 하는 인스턴스를 자동으로 생성, 취득하여 연결시켜주는 역활을 한다. DI 컨테이너가 인스턴스를 생성하도록 하려면 프로그램 소스 내부에서 new 로 직접 생성하지 않고 설정파일에서 필요로 하는 클래스의 정보를 설정해 주어야한다. 스프링은 각 클래스간의 의존관계를 관리하기 위한 방법 - Constructor Injection - Setter Injection 가. Constructor Injection : 생성자를 통해..
Spring을 eclipse로 실행할 때, STS를 설치하고 나면 eclipse를 재부팅하게 되는데 eclipse 로고만 보이고 켜지지 않는 오류가 발생했다. 알고보니 eclipse가 JDK의 경로를 잡아주지 못해서 생기는 오류 였다. eclipse.ini파일에 그 경로를 잡아주면 되었다. -clean -startup plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426 -product org.eclipse.epp.package.jee.product -showsplash..
JAVA ENTERPRISE APPLICATION 개발에 사용되는 자바플랫폼을 위한 오픈소스 어플리케이션 프레임워크이다. 스프링을 쓰다보면 안에서 내부에서 해주는 일이 많다. 스프링과 비슷하게 나온게 Jango이다. 1_특징 - 자바 객체를 담고 있는 경량 컨테이너이다 객체의 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로 부터 필요한 객체를 얻어올 수 있다.(Spring에서는 new하고 객체를 생성할 일이 거의 없다. Spring이 알아서 생성해준다. ) - POJO(Plain Old Java Object) 기반의 개발 POJO란 누구에게도 상속 받지않고 implements도 하지 않는 순수한 클래스 형태 - 제어 반전(IoC - Inversion of Control)을 지원 컨트롤의 제어권이 ..