Web/Spring(7)
-
[Spring] AOP 개념 및 구현
목차 1. AOP란? 2. AOP 장점 3. Advice / PointCut / JoinPoint 4. 동작 방식 5. 구현 방식 📌AOP란? AOP(Aspect Oriented Programming) 란 '관점 지향 프로그래밍'으로서 개발 로직과 비즈니스 로직을 분리하여 관리하는 Spring 개념입니다. 즉, 공통 관심 사항과 핵심 관심 사항(코어 코드)을 분리하여 반복된 작업을 줄이는 Spring 개념입니다. 쉽게 설명하자면, 100개 함수가 처리해야 할 공통 기능 코드(예: 로깅) 들을 분리해 별도 Bean으로 관리하는 컨셉입니다. 📌AOP 장점 1) 높은 재사용성 : 중복된 코드를 최대한 제외하여 기능이 필요할 때만 호출하여 쓰기 때문에 재사용성이 높습니다. 2) 깔끔한 코드 : 공통관심사항을 별..
2022.11.23 -
[Spring] @Autowired 와 DI 개념 정리
목차 1) DI(Dependency Injection) 개념 2) @Autowired 개념 3) @Autowired 와 @Resource 4) @Autowired 활용 방법 DI(Dependency Injection) DI(Dependency Injection)란 @Autowired 개념을 알기 위해 먼저 DI 개념을 알아야 합니다. DI(의존성 종속, Dependency Injection)란, 클래스간의 의존관계를 스프링 컨테이너가 자동으로 연결해주는 것을 말합니다. * Dependency 란, 객체가 다른 객체와 상호작용하는 것을 말합니다. 클래스 A가 클래스 B,C와 상호작용한다면 객체 A는 객체B,C와 의존관계입니다. DI가 필요한 이유 : 객체 간 의존성 아래 Factory 인터페이스를 상속받는..
2022.11.23 -
[Spring][JAVA] Spring 개념 정리 (AOP,POJO,JDBC 등)
목차 1. 스프링이란 2. 스프링 특징 3. JDBC란? 4. JSP와 Sevlet 5. 웹 서버 동작 도구 6. Restful API 7. XML와 JSON 8. AOP 9. POJO 10. DTO / DAO / VO 1. 스프링(Spring)이란? JAVA언어를 기반으로 하는 JAVA 웹 프레임워크다. OOP기반 타 프레임워크와 달리 AOP 기반으로 코드 중복을 줄이고 비즈니스 로직을 더욱 간단하게 만들었다. 2. 스프링(Spring) 특징 4가지 POJO(Plain Old Java Object) Spring은 Getter, Setter 방식의 순수한 자바 오브젝트 기반 프레임워크다. IoC (제어반전) 컨트롤의 제어권이 프레임워크에 있다. 프레임워크가 필요에 의해 사용자 함수를 호출한다. DI (의..
2022.11.23 -
[Spring] 메이븐(Maven)과 pom.xml
📌pom.xml 정의 pom.xml은 메이븐(Maven)의 빌드 정보를 담고 있는 파일이다. 📌여기서 메이븐(Maven)이란? 자바 프로젝트 관리 툴으로, 미리 작성된 xml 파일을 사용하여 필요한 라이브러리를 다운로드하거나, 생성, 프로젝트 빌드 하는 등의 작업을 자동화한다. 메이븐의 기능에는 대략 1) 라이브러리 관리 2) 빌드 기능이 있다.또한, pom.xml은 다른 프로젝트에 복사/붙여넣기가 가능하기 때문에 범용성이 좋다. STS(Spring Tools Suite)는 이러한 메이븐을 내장하고 있다. 메이븐은 이 pom.xml에 쓰여진 내용을 바탕으로 필요한 라이브러리를 다운로드하거나 내장해서 프로그램을 빌드하고 실행한다. 메이븐을 사용한 프로젝트에서는 pom.xml을 얼마나 제대로 설정하느냐가 중..
2022.11.23 -
MVC 정리
MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다. 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공합니다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버) 가 있습니다. MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같이 설명할 수 있습니다. 모델: 데이터와 비즈니스 로직을 관리합니다. 뷰: 레이아웃과 화면을 처리합니다. 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다. 모델 뷰 컨트롤러 예시 간단한 쇼핑 리스트 앱이 있다고 상상해봅시다...
2022.11.23 -
[Spring] 전자정부프레임워크란?
1. 전자정부프레임워크가 뭘까요? https://www.egovframe.go.kr/EgovIntro.jsp?menu=1&submenu=1 위 링크는 전자정부프레임워크의 소개 페이지 입니다. 위 페이지에 나온 내용은 아래와 같습니다. 등장배경 및 목적 개발프레임워크는 정보시스템 개발을 위해 필요한 기능 및 아키텍처를 미리 만들어 제공함으로써 효율적인 어플리케이션 구축을 지원합니다. “전자정부 표준프레임워크”는 공공사업에 적용되는 개발프레임워크의 표준 정립으로 응용 SW 표준화, 품질 및 재 사용성 향상을 목표로 합니다. 이를 통해“전자정부 서비스의 품질향상” 및 “정보화 투자 효율성 향상”을 달성하고, 대ㆍ중소기업이 동일한 개발기반 위에서 공정 경쟁이 가능하게 됩니다. ※ 표준프레임워크는 기존 다양한 플..
2022.11.23