스프링 빈과 애플리케이션 컨텍스트 그리고 AOP??
·
Backend Programming
스프링 빈(Spring Bean)정의스프링 빈은 스프링 IoC(Inversion of Control) 컨테이너가 관리하는 자바 객체입니다.빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다.IoC (Inversion of Control)가 무엇이냐?객체 지향 프로그래밍에서 객체의 의존성 관리를 프레임워크나 컨테이너에 위임하는 설계 원칙입니다. IoC의 핵심 개념은 객체 생성 및 의존성 주입을 개발자가 직접 하지 않고, 외부에서 제어권을 갖고 관리한다는 것입니다. 생성 및 관리스프링 빈은 스프링 컨테이너에 의해 생성되고, 필요한 의존성을 주입받습니다.빈의 라이프사이클은 컨테이너가 관리하며, 생성, 초기화, 소멸 등의 과정을 거칩니다.빈은 @Component, @Serv..
MVC 패턴이란 무엇일까?
·
Backend Programming
MVC (Model-View-Controller) 패턴은 소프트웨어 설계 패턴 중 하나로, 어플리케이션을 세 가지 주요 컴포넌트로 분리하여 개발의 복잡성을 줄이고, 코드의 재사용성과 유지보수성을 높이는 데 도움을 줍니다. Model (모델)역할: 어플리케이션의 데이터 구조를 관리합니다. 데이터베이스와의 상호작용, 데이터 유효성 검사 등의 비즈니스 로직을 담당합니다.예시: 사용자 정보, 제품 목록, 주문 내역 등의 데이터 관리.public class User { private String name; private String email; // 생성자, getter, setter} View (뷰)역할: 사용자 인터페이스(UI)를 담당합니다. 모델의 데이터를 사용자에게 보여주고, 사용자로부터 ..
스프링의 컨트롤러, 서비스, 레포지토리가 무엇인가?
·
Backend Programming
1. 컨트롤러 (Controller)역할:요청 처리: 사용자로부터 들어오는 HTTP 요청을 처리합니다.뷰로 전달: 처리된 결과를 뷰에 전달하여 사용자에게 응답을 보냅니다.URL 매핑: URL 경로를 메서드와 매핑하여 특정 요청을 특정 메서드가 처리하도록 합니다.@RestController@RequestMapping("/api")public class UserController { @Autowired private UserService userService; @GetMapping("/users") public List getAllUsers() { return userService.getAllUsers(); } @PostMapping("/users") pub..
JDBC, JPA가 무엇이냐?
·
Backend Programming
JDBC (Java Database Connectivity)란?- java에서 데이터베이스와의 상호작용을 가능하게 하는 API입니다.- 데이터베이스 쿼리 결과를 읽고 처리할 수 있다.  JDBC는 3가지 기능을 표준 인터페이스로 정의하여 제공한다.주요 기능과 구조연결 관리 (Connection Management):데이터베이스 연결을 설정하고 유지합니다. DriverManager 클래스를 통해 데이터베이스 URL, 사용자 이름, 비밀번호를 사용하여 데이터베이스에 연결할 수 있습니다.명령 실행 (Statement Execution):SQL 쿼리를 실행할 수 있는 다양한 Statement 객체를 제공합니다. 예를 들어, Statement, PreparedStatement, CallableStatement 등..
데이터 베이스 테이블?
·
Backend Programming
데이터베이스 테이블(Database Table)은 관계형 데이터베이스에서 데이터를 구조화하여 저장하는 기본 단위입니다. 테이블은 행(Row)과 열(Column)로 구성되며, 각각의 행은 하나의 레코드(Record), 각각의 열은 데이터 필드(Field)를 나타냅니다.주요 구성 요소열(Column):데이터 필드로서 각 필드는 특정 데이터 타입(예: 정수, 문자열, 날짜 등)을 가집니다.각 열에는 고유한 이름이 부여되며, 테이블의 모든 행에서 동일한 데이터 유형을 유지합니다.행(Row):개별 데이터 레코드로서 각 행은 데이터 항목의 집합을 나타냅니다.테이블의 모든 열에 대해 값을 가집니다.기본 키(Primary Key):각 행을 고유하게 식별하기 위해 사용하는 하나 이상의 열입니다.기본 키는 중복 값을 허용..
웹 서버와 웹 애플리케이션 서버
·
Backend Programming
두 서버가 하는일?웹 서버와 애플리케이션 서버는 인터넷 상에서 데이터와 서비스를 교환할 수 있는 기술입니다웹 사이트 또는 애플리케이션을 방문하면 브라우저(클라이언트)가 원격 서버에 데이터를 요청하고 응답을 표시합니다.세부적으로는? 웹 서버는 클라이언트 요청에 응답하여 이미지, 파일, 텍스트와 같은 정적 데이터를 제공하는 소프트웨어 구성 요소입니다. 애플리케이션 서버는 비즈니스 로직을 추가하여 웹 서버의 응답을 계산합니다. 대부분 동적 콘텐츠를 제공합니다. 정적, 동적 컨텐츠의 예- 이미지 파일(예: PNG, GIF 및 JPEG), 다운로드 가능한 문서(PDF), 비디오 및 HTML 파일은 모두 정적 콘텐츠입니다.- 동적으로 생성되는 보고서, 사용자 지정된 데이터 표현, 개인화된 UI, 데이터베이스 결과 ..