반응형
01. 프레임워크의 의미 및 중요성
1. 프레임워크란?
- 개발에 있어서 뼈대나 환경을 제공해주기 위한 개발 툴
- 대표적인 자바 프레임워크 : spring
- 과거에는 자바 프레임워크 중 ejb프레임워크를 많이 사용했지만 너무 투머치스러워서
- 지금은 spring 프레임워크를 가장 많이 이용
2. 프레임워크의 중요성
- 프레임워크에 맞는 코드 작성이 중요!
- 규칙만 지켜주면 프로그램 만드는 것이 쉬어짐
- 규칙대로 만들었기 때문에 유지보수도 매우쉬워짐
- 완전한 어플리케이션은 아니지만 어플리케이션을 만드는 툴임
- 프레임워크를 썼으면 반드시 제거하기
02. 프레임워크의 구조 및 분류
1. 프레임워크의 구조
- 뼈대에 필요한 정보 제공이나 값들 제공
- 프레임워크가 제공해주는 core가 대부분의 기능을 다 제공해줌
- 약간의 클래스와 인터페이스를 만들어 확장해서 사용도 가능
2. 프레임워크의 분류
프레임워크 계층에 따른 분류
- 스프링은 시스템프로그램, 웹프로그램 등등 모두 다 만들 수 있음
- 즉, 모든 프로그램을 만들 수 있음
확장 방법에 따른 분류
- 스프링은 블랙박스가 아닌 화이트박스! (확장이 가능 - 스프링과 다른 프레임워크를 가져다 연결 가능함)
- ex)스프링 + mybatis
처리 영역에 따른 분류
- 요즘은 처리영역에 따른분류를 가장 많이 사용함
- 스프링은 기능지원통합 프레임워크 모두 다 가능
03. 자바 기반의 프레임워크 - Spring
- 디자인패턴, 개발방법론 등을 공부하지 않아도 프레임워크를 통해 빠르게 만들 수 있음
- 빠르고 효율적으로 만들기 위해 프레임워크를 사용함
- 우리는 SpringMVC , myBatis , Spring 사용할 것임
04. Spring 프레임워크의 특징
- 테스트용이성 : 통합테스트가 아닌 모듈테스트 시 쉽게할 수 있음
- ejb는 크기와 부하의 측면에서 중량이었던 반면에(너무 무거워서 일반 pc에서 잘 안돌아감), 스프링은 경량임
1) Spring 만이 제공해주는 기능
(스프링을 써야하는 이유)
- IoC - SpringDI
- AOP - SpringAOP
2) IoC (SpringDI)
- 개발자가 직접 만드는 것이 아닌, 스프링 컨테이너에게 클래스를 주면 스프링 컨테이너가 알아서 객체를 만들어서 줌.
- 우리는 가져다 쓰기만 하면됨! (= 제어의 역행 IoC)
3) AOP (SpringAOP)
- OOP ( 객체지향프로그램 - 모듈화(덩어리로 만든다)가 매우 뛰어난 프로그램 )가 아닌 AOP
OOP의 단점
- 중복된 코드가 있다면 그냥 써야함
- 그러한 단점을 극복한 것이 AOP
AOP의 장점
- 모듈화 시스템을 위반하지 않으면서, 중복된 코드를 따로 빼내어 사용할 수 있음
- 어떻게?? 핵심관심코드와 횡단관심 코드를 따로 만들어 필요하다면 필요한 기능들을 삽입해 처리함
- ex) 회원가입
- 핵심관심 코드 :사용자 입력값을 반환받아 DAO에서 삽입처리가 핵심
- 횡단관심코드 : 권한적인 코드
AOP로 만들 부분
- 보안 , 기록(log)
- 예외처리 , 트랜잭션처리
05. Spring Framework의 구성
- Spring Core : 객체를 관리해주는 기능 - 객체관리, 소멸, 제거 등등
- Spring AOP : 필요한 코드가 삽입되서 실행될 수 있도록 하는 기능
- Spring DAO : DAO 만들어주는 기능
- Spring ORM : 우리는 mybatis 이용할 것임 (Hibernate support, IBatis support, JDO support)
- Spring Web MVC
- Web MVC Framework
- Web Views : JSP, Velocity, PDF, Excel ..
- Spring Context
- Application context : 필요한 기능들을 제공받아 쓸 수 있도록 함
- UI support VAliation : 값을 검증하는 기능
- JNDI
- EJB support & Remoting Mail
06. Spring의 개발환경
- JDK 11버전
- Eclipse 2022.09
- WAS (Apache Tomcat 9.0)
- DBMS Oracle
- Spring Library - maven 빌드툴이 제공해주는 라이브러리
- iBatis Library - myBatis3 버전 .. DAO클래스 만들때 이용할 것임..
07. Spring 프레임워크 | M1맥북 sts 실행 시 에러 해결법
반응형
'framework > spring' 카테고리의 다른 글
[spring] 6. Spring 프로젝트 파일명의 종류 | 라이브러리 | maven빌드툴 | 버전변경 | context루트경로변경 (with Eclipse) (0) | 2024.07.25 |
---|---|
[spring] 5. 메이븐 라이브러리 환경설정파일 pom.xml (0) | 2024.07.24 |
[spring] 4. sts 설치법 | spring으로 perspective 변경법 | spring 프로젝트 생성법 (feat. Eclipse) (1) | 2024.07.24 |
[spring] 3. 로그설정파일 - log4j.xml (3) | 2024.07.23 |
[spring] 2. Lombok 라이브러리 빌드 및 사용법 (2) | 2024.07.23 |