자바 & Spring(9)
-
웹 서버 & WAS
웹 서버와 WAS에 대해 공부하고 블로그에 적어보겠습니다. 유명한 주제이기도 하고, 이 시점에서 관계와 용어 정리를 확실하게 정리하고 싶어 작성합니다. 웹 서버란? 웹 서버란 인터넷을 통해 사용자의 요청에 따라 HTML 문서나 다른 종류의 리소스를 제공하는 서버이다. 웹 서버는 주로 정적 컨텐츠를 제공하는 데 사용되며, 가장 대표적인 예는 Apache, Nginx, Microsoft IIS 등이 있다. 주요 기능 1. 정적 컨텐츠 제공 HTML, CSS, JavaScript, 이미지 파일과 같은 정적 리소스를 클라이언트에게 전송한다. 외부의 접근이 가능하도록 개방하여 지정된 URL로 접속하면 자원을 받아갈 수 있도록 하는 것이 웹서버의 기본적인 역할임. 2. 로드 밸런싱(Load Balancing) 사용..
2024.01.30 -
JPA 정의
이번 포스팅에서는 JPA의 정의에 대해 알아보자. JPA의 필요성에 대한 내용은 다음 포스팅을 참고하길 바랍니다. https://matt1235.tistory.com/62 JDBC(Java Database Connectivity) 이번 포스팅에서는 jdbc에 대한 개념과 문제점을 살펴볼 것이다. 관계형 데이터베이스(Relational Database)는 신뢰할 만한 데이터 저장소로, 많은 어플리케이션이 관계형 db 를 사용한다. DB에 데이터 matt1235.tistory.com JPA(Java Persistence API) 란? 자바 진영의 ORM 기술 표준으로, 어플리케이션과 JDBC 사이에서 동작한다. 자바 ORM 기술에 대한 API 표준 명세이다. JPA 는 인터페이스의 집합이기 때문에, 사용하려..
2022.11.06 -
JDBC(Java Database Connectivity)
이번 포스팅에서는 jdbc에 대한 개념과 문제점을 살펴볼 것이다. 관계형 데이터베이스(Relational Database)는 신뢰할 만한 데이터 저장소로, 많은 어플리케이션이 관계형 db 를 사용한다. DB에 데이터를 저장, 관리하려면 SQL을 사용해야 한다. 자바로 작성한 애플리케이션은 JDBC API를 사용해 SQL을 데이터베이스에 전달한다. JDBC 란? Java Database Connectivity 의 줄임말 자바 프로그램에서 데이터베이스에 접속할 수 있는 자바 API 이다. DB의 종류와 상관없이 DB에 관련된 작업들을 처리할 수 있도록 도와준다. JDBC는 데이터베이스에 query를 전달하고, 결과를 받아온다. 자바에서 DB 접근에 기반이 되는 기술로서, 이를 확장한 Spring-jdbc, ..
2022.11.02 -
빈 생명주기 콜백
스프링 컨테이너의 역할 자동으로 스프링 Bean 객체에 의존성을 주입. 객체의 생성부터 소멸까지 생명주기(lifecycle)를 관리. 이렇게 객체 관리의 주체가 스프링이 되면, 개발자는 핵심 로직에만 집중할 수 있게 된다. 빈 생명주기 콜백의 필요성 스프링 빈은 초기화 작업, 종료 작업을 나눠 진행한다. 어플리케이션이 시작 될 때 수행하려는 작업과, 어플리케이션이 종료되는 시점에서 수행하려는 작업이 다르기 때문이다. 둘을 구분하는 것이 성능 면에서도 좋다. 스프링 빈 라이프사이클 객체 생성 → 의존관계 주입 스프링 빈은 객체를 생성하고, 의존관계 주입이 다 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료된다. 객체의 생성과 초기화 분리 생성자 안에서 초기화 작업을 함께하는 것보다, 객체를 생성..
2022.10.26 -
컴포넌트 스캔, 의존관계 자동 주입
스프링 컨테이너 스프링 컨테이너를 이용해 객체를 스프링 빈으로 등록하고 컨테이너에서 스프링 빈을 찾아 사용할 수 있다. 스프링 컨테이너는 다음과 같은 이점을 제공해줌으로써 개발자가 객체 지향적인 개발을 할 수 있게 도와준다. 의존관계 주입 (DI) 컨테이너가 의존관계를 자동으로 주입 제어의 역전 (IoC) 객체는 자신의 로직만 실행하고 프로그램의 제어흐름을 외부(스프링 컨테이너) 에서 실행. 싱글톤 패턴 객체를 빈으로 등록해 찾아 사용할 수 있어 싱글톤 패턴을 보장해준다. 스프링 컨테이너를 만드는 방법 1) XML 기반으로 생성 XML 파일에 beans 태그로 설정, bean 태그를 이용해 스프링 빈을 등록할 수 있다. bean 태그의 속성값인 id로 빈 이름, class 로 구현 클래스를 지정해줄 수 ..
2022.09.25 -
싱글톤(singleton) 패턴
싱글톤 패턴이란? 클래스의 인스턴스가 한개만 생성되는 것을 보장하는 디자인 패턴. 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 싱글톤 패턴은 같은 클래스의 인스턴스를 한개만 생성되게 하는 패턴이다. 말 그대로 같은 타입의 생성자가 여러차례 호출돼도 원래 생성되어있던 동일한 객체만이 리턴된다. 프로그램 내에 하나의 객체만 존재해야 할 때나, 프로그램 내에 해당 객체를 공유하며 사용해야 할 때 필요하다. 스프링 컨테이너 스프링 컨테이너(DI, IoC 컨테이너)는 객체 인스턴스를 싱글톤으로 관리해준다. 컨테이너는 @Bean이 붙은 어노테이션을 스프링 빈으로 관리한다. 이는 싱글톤으로 관리된다. Application..
2022.09.24