CS/Spring(38)
-
[Spring/Springboot] API, 프레임워크, 라이브러리의 차이
API두 개 이상의 소프트웨어 컴포넌트 사이에서 상호 작용할 수 있도록 정의된 인터페이스(ex) 함수, 프로토콜, 클래스 → 다른 소프트웨어 개발자들이 이를 사용하여 특정 서비스 또는 기능 사용 가능 = 다른 개발자들이 사용할 수 있는 함수, 메서드, 클래스 등을 정의“엄마의 와사비를 넣은 짭짤한 간장 계란밥”(외부 함수, 클래스) → 나는 접시에 담아와서(끌어 와서) 먹기만 하면 됨예시 APIAWS API Gateway: 아마존 웹 서비스에서 제공하는 API 관리 서비스Google Cloud Vision API: 구글에서 제공하는 이미지 분석 API프레임워크개발자들이 애플리케이션을 개발하는 데 사용되는 구조를 제공 → 일련의 규칙과 구조를 정의하고, 개발자가 애플리케이션을 작성할 때 이러한 규칙과 구조..
2024.12.15 -
[Spring/Springboot] Bean/싱글톤 패턴/컴포넌트 스캔
스프링 컨테이너 생성 과정//스프링 컨테이너 생성ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); //구성 정보를 AppConfig.class로 설정스프링 컨테이너를 생성한다(AppConfig.class) → 스프링 컨테이너 한 스프링 빈 저장소가 있음구성 정보인 AppConfig.class를 활용하여 → 스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용하여 스프링 빈 저장소에 스프링 빈을 등록한다.스프링 컨테이너에 빈 의존관계 설정을 준비하고, 설정 정보를 참고하여 의존관계를 주입(DI)한다.BeanSpring 컨테이너가 관리하는 자바의 객체 → Spring은 빈을 통해..
2024.12.15 -
[Spring/Springboot] 제어의 역전 IoC(Inversion of Control)
제어의 역전 IoC(Inversion of Control)public class AppConfig{ public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); } public OrderService orderService(){ return new OrderServiceImpl(memberRepository(), discountPolicy()); } public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } public DiscountPolicy discountPolicy(){ return new RateDi..
2024.12.15 -
[Spring/SpringBoot] 의존 관계 주입 DI(Dependency Injection)
의존 관계 주입 애플리케이션 실행 시점(런타임)에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결되는 것을 의존관계 주입이라고 함객체 인스턴스를 생성하고, 그 참조값을 전달해서 연결함의존 관계 주입의 장점클라이언트 코드를 변경하지 않고, 클라이언트가 호출하는 대상의 타입 인스턴스를 변경할 수 있음정적인 클래스 의존관계를 변경하지 않고, 동적인 객체 인스턴스 의존관계를 쉽게 변경할 수 있음(ex) AppConfig의 의존관계 인스턴스 이름나 변경해주면됨 다른 코드/클래스 건드릴 필요 없음의존 관계 주입 예시 코드**import hello.core.discount.DiscountPolicy;import hello.core.member.Member;import..
2024.12.15 -
클라우드 배포하기(2) - SSH 클라이언트로 서버 접속/보안 그룹 설정
3. SSH 클라이언트로 서버 접속인스턴스 정보 - 연결버튼 클릭 - 인스턴스 연결하는 여러 방법 제공 SSH 클라이언트로 인스턴스에 연결SSH 클라이언트를 엽니다.프라이빗 키 파일을 찾습니다.필요한 경우 이 명령을 실행하여 키를 공개적으로 볼 수 없도록 합니다. chmod 400 "project-board.pem"퍼블릭 DNS을(를) 사용하여 인스턴스에 연결4. 보안 그룹 설정보안 그룹이란?보안 그룹(Security Group)은 AWS에서 EC2 인스턴스를 보호하는 가상 방화벽 역할을 하는 중요한 보안 기능네트워크 계층에서 인스턴스에 들어오고 나가는 트래픽을 제어EC2 인스턴스의 인바운드(수신) 트래픽과 아웃바운드(송신) 트래픽에 대한 규칙을 정의 보안 그룹은 기본적으로 상태 기반(Stateful..
2024.09.04 -
클라우드 배포하기(1) - AWS란 무엇인가/EC2 생성/Elastic IP 설정
AWS(Amazon Web Services)AWS는 Amazon Web Services의 약자로, 아마존에서 제공하는 클라우드 컴퓨팅 서비스입니다.AWS는 전 세계적으로 많은 기업과 개발자가 사용하며, 다양한 IT 자원을 클라우드 형태로 제공해 기업들이 자체 서버나 데이터 센터를 구축할 필요 없이 필요한 컴퓨팅 자원을 손쉽게 사용할 수 있게 해 줍니다.클라우드 서비스의 가장 큰 장점은 필요한 만큼만 사용하고, 사용한 만큼만 비용을 지불할 수 있다는 것입니다. AWS가 제공하는 서비스컴퓨팅 파워 (Computing Power): 서버, 스토리지, 네트워크와 같은 자원을 제공하는 서비스스토리지 (Storage): 데이터를 저장하고 관리하는 다양한 스토리지 옵션을 제공데이터베이스 (Database): 관계형 ..
2024.09.04