분류 전체보기 89

[Spring] pom.xml / web.xml / servlet-context.xml / root-context.xml

📚 xml 파일xml 파일은 모두 Bean(객체)를 정의한다.📕 pom.xmljava, spring 버전 관리default값을 원하는 버전으로 변경해주면 된다. 1.8 4.2.4.RELEASE 1.8.8 1.7.14필요한 Library 설치maven project에 필요한 Library 들을 MVNrepository 에서 검색해 태그 안에 설치해주면 된다.org.aspectjaspectjrt${org.aspectj-version}org.aspectjaspectjweaver${org.aspectj-version} javax.servlet.jspjavax.servlet.jsp-api${jsp-version}providedjavax.servletjstl${jstl-version}📗 web.xmlw..

Back-End/Spring 2023.04.30

[Spring] Spring MVC

🌿 MVC (Model - View - Controller) 란?Application의 확장을 위해 Model, View, Controller 3가지 영역으로 분리한 것이다. Component의 변경이 다른 영역 Component에 영향을 미치지 않아 유지보수가 용이하고 Component간의 결합성이 낮아 프로그램 수정이 용이해 확장성이 뛰어나다. ModelService + Dao상태 쿼리에 대한 응답으로 변경을 View에 통지View사용자의 입력을 Controller에 전달Model을 화면에 표현ControllerApplication의 행위를 정의사용자 요청에 맞는 view를 선택 🌿 MVC 의 장/단점장점화면과 비즈니스 로직을 분리해 작업이 가능 -> 유지보수 용이영역별 개발로 인해 확장성 뛰어남..

Back-End/Spring 2023.04.30

[Spring] AOP (Aspect Oriented Programming)

AOP 등장 배경기존 OOP에서 핵심 관심 사항(core concern)과 공통 관심 사항(cross-cutting concern)을 여러 모듈에 중복 사용되는 한계를 해결하기 위해 AOP가 등장했다. 공통 관심 사항을 기준으로 프로그래밍함으로써 공통 모듈을 손쉽게 적용할 수 있게 한다.AOP 특징AOP는 핵심적인 기능에서 부가적인 기능을 분리Aspect 라는 모듈 형태로 만들어 설계하고 개발해 객체지향적인 가치를 지킬 수 있게하는 개념AOP 용어Target : 핵심기능을 담고 있는 모듈. 부가기능의 부여 대상Advice : 어느 시점에 공통 관심 기능 Aspect을 적용할지 정의. Target에 제공할 부가기능 담음JoinPoint : Aspect가 적용될 수 있는 지점. target 객체가 구현한 인..

Back-End/Spring 2023.04.28

[SpringBoot] SpringBoot란?

SpringBoot? 특징 Spring의 경우 library추가, dependency 설정 등 SpringFramework가 처리해야하는 여러 구성 및 설정파일을 setting해야했다. 하지만 SpringBoot는 이러한 것들을 모두 자동으로 설정해준다. 장점 project에 따라 자주 사용되는 library들이 미리 조합되어 있음 복잡한 설정을 자동으로 처리해 줌 tomcat을 내장 서버로 가져 WAS를 추가 설치 않아도 됨 WAS에 배포하지 않고 실행할 수 있는 JAR파일로 Web Application을 개발 할 수 있음 SpringBoot Project 생성 프로젝트 생성 New -> Spring Boot -> Spring Starter Project Name : 프로젝트 명 Type : gradl..

Back-End/SpringBoot 2023.04.27

[Spring] DI (Dependency Injection)

스프링 빈은 기본적으로 '싱글톤'으로 만들어진다. 그 외 방법으로 인스턴스 반환을 하게 하고싶은 경우 scope에 설정해주어야 한다. singleton : 스프링 컨테이너당 하나의 인스턴스 빈만 생성 (default) prototype : 컨테이너에 빈을 요청할 때마다 새로운 인스턴스 생성 request : HTTP Request별로 새로운 인스턴스 생성 session : HTTP Session별로 새로운 인스턴스 생성 🌽 스프링 빈 설정 (Annotation) 빈으로 사용될 클래스에 @Autowired annotation을 부여해 주면 자동으로 빈 등록 이때 반드시 context.xml파일에 component-scan을 설정해주어야 함 // servlet-context.xml (Web 관..

Back-End/Spring 2023.04.26

[Spring] Spring Framework란?

💎 Spring의 등장배경 웹 사이트가 점점 커지면서 엔터프라이즈급의 서비스가 필요하게 되었다. 점차 POJO + 경량 프레임워크를 사용하기 시작했고, EJB가 제공하는 서비스를 지원해 줄 수 있는 프레임워크 Spring이 등장했다. EJB (Enterprise JavaBean 1.0) : Low Level의 트랜잭션이나 상태관리, 멀티 쓰레딩, 리소스 풀링과 같은 복잡한 Low Level의 API를 이해하지 못해도 아무 문제 없이 애플리케이션 개발 가능 POJO + Framework : EJB서버와 같은 거창한 컨테이너 필요 없음 / 오픈소스 프레임워크라 무료 / 다양하고 많은 라이브러리 지원 / 모든 플랫폼에서 사용이 가능한 스프링 프레임워크 ❓ Spring이란? 자바로 Enterprise Appli..

Back-End/Spring 2023.04.25