본문 바로가기

스프링 공부10

제어의 역전 IoC 개념 정리 IoC(Inversion of Control, 제어의 역전)에서 "제어"는 객체의 생성과 그 객체 간의 의존성 관리를 의미합니다. 이를 더 구체적으로 설명하면 다음과 같습니다  전통적인 객체 지향 프로그래밍(OOP)에서의 제어 흐름전통적인 방식에서는 객체가 다른 객체를 필요로 할 때, 직접적으로 그 객체를 생성하거나, 메서드를 호출하여 의존성을 해결합니다. 예를 들어, 클래스 A가 클래스 B를 필요로 한다면, A는 B를 직접 생성하거나 B를 생성해 줄 수 있는 어떤 방식으로 처리합니다. 이 경우 객체 A는 다음과 같은 역할을 합니다:객체 B를 생성하거나 가져오는 책임: A는 B를 필요로 할 때, 스스로 B를 생성하거나 적절한 방식으로 얻어옵니다.의존성 관리: A는 B와의 의존 관계를 직접 관리합니다.이런.. 2024. 8. 14.
스프링 프레임 워크 구조 정리 https://velog.io/@6792kjs/spring-%EA%B8%B0%EC%B4%88%EC%A7%80%EC%8B%9D-%ED%95%99%EC%8A%B5%EC%A0%95%EB%A6%AC#0-spring-framework%EC%9D%98-%EA%B5%AC%EC%A1%B0 spring 기초지식 학습정리자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크로 엔터프라이즈급 어플리케이션 개발을 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션.velog.io0. spring framework의 구조spring core : spring container를 의미.continer는 spring framework의 핵심이며, 그 중 핵심은 Bean Factory Container임.Bean Factory는 IOC.. 2024. 8. 9.
Spring 스프링 프레임워크 - 의존관계 주입(Dependency Injection, DI ) 스프링 프레임워크에서 의존관계 주입(Dependency Injection, DI)은 객체 간의 의존성을 설정하는 핵심 개념입니다. DI는 객체가 스스로 다른 객체를 생성하는 대신, 외부에서 객체의 의존성을 주입하는 방법을 통해 결합도를 낮추고 유연성을 높입니다. https://any-ting.tistory.com/146 [Spring Boot] 구조 분석 (4) - 의존관계 주입 방식- 지난 시간 안녕하세요. 지난 시간에는 @Autowired 어노테이션에 대해 알아봤습니다. 놓고 오신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. [Spring Boot] 구조 분석 (3) - @Autowiredany-ting.tistory.com DI(Dependency Injection) 프레임워크인.. 2024. 8. 8.
Spring Web MVC/ 스프링 RestAPI를 위한 어노테이션 1. Spring Web MVCSpring Web MVC는 Spring 프레임워크의 웹 모듈로, HTTP 기반 애플리케이션을 만들기 위한 강력한 기능을 제공합니다. REST API를 구현하는 데 필요한 핵심 기능을 제공합니다.2. @RestController 어노테이션@RestController는 @Controller와 @ResponseBody를 결합한 어노테이션으로, RESTful 웹 서비스를 만들기 위해 사용됩니다. 이 어노테이션은 메서드가 반환하는 값을 JSON 또는 XML 형식으로 직렬화합니다.  직렬화가 뭐야?직렬화(serialize)란 자바 언어에서 사용되는 Object 또는 Data를 다른 컴퓨터의 자바 시스템에서도 사용 할수 있도록 바이트 스트림(stream of bytes) 형태로 연속전.. 2024. 8. 7.
스프링 빈 Spring Bean 정리 빈(Bean)이란? 스프링 프레임워크에서 관리하는 객체를 의미합니다. 스프링 컨테이너가 생성, 구성, 그리고 관리하는 자바 객체로, 애플리케이션의 핵심 구성 요소입니다. 빈은 보통 서비스, 데이터 접근 객체(DAO), 컨트롤러 등의 역할을 수행합니다. 빈의 특징POJO (Plain Old Java Object): 스프링 빈은 특별한 규칙을 따르지 않는 순수한 자바 객체입니다. 이는 기존 자바 객체를 스프링 컨테이너가 관리할 수 있다는 것을 의미합니다.관리 객체: 빈은 스프링 컨테이너에 의해 생성되고 관리되며, 필요에 따라 컨테이너가 라이프사이클을 제어합니다.의존성 주입 (Dependency Injection): 빈의 종속성은 외부에서 주입되며, 이는 객체 간의 결합도를 낮추고 테스트 가능성을 높입니다. .. 2024. 8. 7.
Spring Context 스프링 컨텍스트? 스프링 컨테이너? 개념 정리 Spring 애플리케이션 컨텍스트(Application Context)는 스프링 프레임워크의 핵심 요소로, 애플리케이션의 모든 구성 요소(빈)들을 생성하고 설정하며, 이들 간의 종속성을 관리하는 역할을 합니다. 스프링 컨테이너라고도 불리며, BeanFactory 인터페이스를 확장한 것으로, 더 많은 기능을 제공합니다.  주요 기능빈 관리: 빈(bean) 객체의 생성, 초기화, 소멸을 관리합니다.종속성 주입: 빈 간의 의존성을 주입하여 객체를 구성합니다.라이프사이클 관리: 빈의 라이프사이클을 관리하며, 빈의 초기화 및 소멸 콜백 메서드를 제공합니다.이벤트 발행: 애플리케이션 이벤트를 발행하고 리스너를 등록하여 이벤트 기반 프로그래밍을 지원합니다.메시지 소스: 국제화(i18n)를 지원하기 위한 메시지 소스를.. 2024. 8. 6.
@SpringBootApplication 어노테이션이란 @SpringBootApplication 어노테이션은Spring Boot 애플리케이션의 진입점 클래스에 사용되는 어노테이션으로, 여러 개의 중요한 Spring 어노테이션을 조합한 것입니다. 이 어노테이션은 Spring Boot 애플리케이션을 설정하고 부트스트랩하는 데 중요한 역할을 합니다.구성 요소@SpringBootApplication 어노테이션은 다음 세 가지 어노테이션을 조합한 것입니다:@SpringBootConfiguration:@Configuration을 확장한 것으로, Spring 애플리케이션 컨텍스트를 정의하는 데 사용됩니다.이 어노테이션은 해당 클래스가 하나 이상의 @Bean 메서드를 포함하는 설정 클래스임을 나타냅니다.@EnableAutoConfiguration:Spring Boot의 자.. 2024. 8. 6.
Spring Framework 개념 정리 스프링 매일 썼지만 개념 정리 부족한것을 많이 느꼈다... 아예 모른다고 가정하고...( ^^) 첨부터 개념 챙기자 1. Spring Framework 개요Spring Framework는 경량 컨테이너로, 자바 객체(빈)를 IoC(Inversion of Control) 원칙에 따라 관리합니다. 주요 모듈은 다음과 같습니다:Core: IoC(제어의 역전)와 DI(Dependency Injection 의존성 주입) 제공AOP: 관점 지향 프로그래밍 지원JDBC: 데이터 접근 기능 강화MVC: 웹 애플리케이션 개발 지원Test: 테스트 프레임워크 제공2. Inversion of Control (IoC)와 Dependency Injection (DI)IoC: 객체의 생성과 생명주기 관리 제어권을 개발자에서 컨테.. 2024. 8. 6.
회원관리 예제-백엔드 개발 순서 비즈니스 요구사항 정리 회원 도메인과 리포지토리 만들기 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 만들기 Junit으로 테스트 할예정 비즈니스 요구사항 데이터 : 회원 ID, 이름 기능 : 회원등록, 조회 간단한 예제 아직 DB가 정해지지않았다는 가정으로 한다. 비즈니스 도메인 객체로 서비스함 회원을 저장하는것은 interface로 만들것이다. 왜냐면 아직 JDBC인지 마이바티스인지 뭔지 모름 package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.*; public class MemoryMemberRepository implements MemberRepos.. 2023. 10. 10.
스프링 웹개발 입문강의 스프링 학습 인프런 김영한 강의 로드맵 입문 강의 무료 스프링 핵심 원리 HTTP웹 기본 지식 스프링 MVC편 백엔드 웹개발 핵심 2편 스프링 부트 기본으로 사용한다 원리를 아는 것은 따로 강의가 있다. JPA는 SQL없이 디비를 사용함 실전 JAP와 스프링 활용1,2편 스프링 학습의 길잡이 역할 실무 개발에 꼭 필요한 스프링 처음부터 끝까지 다 코딩하기 웹 MVC가 중요하다 https://start.spring.io/ 스프링 프로젝트 만들기 테스트 코드가 디폴트로 SRC폴더에 들어가있다. 테스트가 중요하다. build.gradle 중요하다 **정적콘텐츠** 웹브라우저가 요청을 보냄 스프링 컨테이너가 먼저 우선순위를 가지고 찾는다. 매핑에대한 컨트롤러가없다->static을 찾는다 Static/hello-.. 2023. 10. 10.