[Spring(스프링)] MVC 패턴
·
Java/Spring Framework
개념MVC(모델-뷰-컨트롤러)사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있으며, 이러한 관심사 분리는 더나은 업무의 분리와 향상된 관리를 제공함모델(Model)애플리케이션의 핵심 데이터와 비즈니스 로직을 나타냄데이터 저장소와의 상호 작용, 데이터 처리 및 유효성 검사와 같은 작업 수행독립적 작동, 뷰와 컨트롤러와 직접적으로 통신하지 않음뷰(View)사용자에게 보여지는 애플리케이션의 UI애플리케이션의 데이터 표시와 관련 모든 작업 처리모델에서 데이터를 받아 사용자에게 표시하고 사용자의 입력을 컨트롤러에 전달컨트롤러(Controller)사용자 입력을 처리하고, 애플리케이션 흐름을 관리뷰에서 전달된 사용자..
[Spring(스프링)] Transactional(트랜잭셔널)
·
Java/Spring Framework
정의더 이상 쪼갤 수 없는 최소 작업 단위필요성여러 개의 작업에 대해 롤백을 하려면?-> 여러 개의 작업을 1개의 트랜잭션으로 관리해야 함트랜잭션 커밋: 작업이 마무리 됨트랜잭션 롤백: 작업을 취소하고 이전의 상태로 돌림ACID원자성(Atomicity)트랜잭션이 완전히 성공하거나 완전히 실패하는 단일 단위로 처리되도록 보장하는 능력이다. 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것이다.일관성(Consistency)각 데이터 트랜잭션이 데이터베이스를 일관성 있는 상태에서 일관성 있는 상태로 이동해야 함을 의미한다. 즉 트랜잭션이 성공적으로 완료하면 언제나 동일한 데이터베이스 상태로 유지하는 것을 의미한다.독립성(Isolation)트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보..
[Spring(스프링)] AOP(관점 지향 프로그래밍)
·
Java/Spring Framework
AOP(Aspect Oriented Programming) 개념기능을 비지니스 로직과 공통 모듈로 구분한 후 개발자의 코드 밖에서 필요한 시점에 비지니스 로직에 삽입하여 실행필수적으로 반복되는 코드 재사용관심의 분리(Separation of Concerns)OOP에서는 공통적인 핵심 기능을 각 객체의 종단으로 입력했다면, AOP는 핵심 기능에서 중복되는 공통적인 기능을 종단간으로 삽입핵심관점(비즈니스 로직) + 횡단관점(트랜잭션, 로그, 권한 체크, 인증, 예외 처리 등)으로 관심의 분리중복 코드 제거, 효율적인 유지보수, 높은 생산성, 재활용성 극대화, 변화 수용 용이용어AdviceJoinpoint에서 실행되어야 하는 코드, 공통 관심, 횡단 관점언제, 어떤 공통 관심 기능을 핵심 로직에 적용할 지를 ..
[Spring(스프링)] Bean(빈), 생명 주기, Scope(스코프)
·
Java/Spring Framework
정의Spring에서 POJO(Plain, Old Java Object)를 ‘Beans’라고 부름Beans는 애플리케이션의 핵심을 이루는 객체이며, Spring IoC(Inversion of Control) 컨테이너 안에 들어있음Spring IoC(Inversion of Control) 컨테이너에 의해 인스턴스화, 관리, 생성됨2024.05.06 - [Java/Spring] - [Spring(스프링)] Spring Container(스프링 컨테이너)특징XML 파일에 정의하여 등록하거나 @Bean을 사용해 등록할 수 있음XML 파일: 우리가 컨테이너에 공급하는 설정 메타 데이터.컨테이너는 이 메타 데이터를 통해 Bean의 생성, 생명주기, 종속성 등을 알 수 있음애플리케이션의 객체가 지정되면, 해당 객체는 ..
[Spring(스프링)] Spring Container(스프링 컨테이너)
·
Java/Spring Framework
💡정의스프링 프레임워크의 핵심 컴포넌트스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할💡스프링 컨테이너의 종류BeanFactoryApplicationContextBeanFactory스프링 컨테이너의 최상위 인터페이스빈 등록, 생성, 조회 등 빈의 제어를 담당하는 IoC 오브젝트getBean() 메서드를 통해 빈을 인스턴스화 할 수 있음@Bean 어노테이션이 붙은 메서드의 이름을 스프링 빈의 이름으로 사용하여 빈을 등록ApplicationContextIoC 방식을 따라 만들어진 일종의 빈 팩토리로, BeanFactory를 확장한 것BeanFactory의 기능을 상속받아 제공빈을 관리하고 검색하는 기능은 BeanFactory가 제공하고, 그 외의 ..
[Spring(스프링)] Spring Framework란?
·
Java/Spring Framework
💡정의①엔터프라이즈용 Java 애플리케이션 개발을 위한 ②오픈 소스 ③경량급 ④애플리케이션 프레임워크로, 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공①엔터프라이즈용 Java 애플리케이션 개발비즈니스 로직을 쉽게 구현할 수 있게 함*비즈니스 로직: 기업이 제공하는 서비스에서 사용자의 요구사항을 해결하기 위한 실질적인 코드 ②오픈 소스개인 및 기업이 무료로 사용할 수 있음③경량급(코드의 복잡성↓)기존 기술을 사용할 때에 불가피하게 작성했던, 불필요하게 복잡한 코드를 제거하게 됨④애플리케이션 프레임워크프레임워크: 어떠한 목적을 쉽게 달성할 수 있도록 해당 목적과 관련된 코드의 뼈대를 미리 만들어둔 것애플리케이션 프레임워크: 애플리케이션을 개발하는 데에 필요한 모든 업무 분야 및 기술과 관련된 ..