(Spring) Controller & RestController란 무엇인가
·
Spring
1. Controller 기본 개념Spring Framework에서 @Controller와 @RestController는 클라이언트 요청을 처리하기 위한 두 가지 방식입니다.@Controller주로 뷰 템플릿(HTML 등)을 반환하는 데 사용됩니다.Thymeleaf와 같은 템플릿 엔진과 결합해 동적인 HTML 페이지를 생성할 수 있습니다.@RequestMapping이나 @GetMapping, @PostMapping 등의 어노테이션을 사용하여 경로를 정의합니다.@RestControllerRESTful API를 위한 컨트롤러입니다. @Controller와 달리 JSON, XML 등의 데이터 형식을 반환합니다.내부적으로 @ResponseBody를 포함하고 있어 별도로 지정할 필요가 없습니다. 이는 HTTP 요..
(Spring) DI와 IOC 이해하기
·
Spring
1. Spring의 DI와 IOC 이해하기2. 내용IOC (Inversion of Control)객체 생성 및 의존성 관리의 제어 흐름이 외부로 전환되는 원칙.전통적인 프로그래밍에서는 객체가 직접 의존성을 관리하지만, IOC에서는 객체가 필요로 하는 의존성을 외부에서 주입받는다.DI (Dependency Injection)IOC의 구체적인 구현 방식 중 하나로, 객체가 의존하는 다른 객체를 외부에서 주입받는 방법.주입 방식생성자 주입 : 생성자를 통해 의존성을 주입.세터 주입 : 세터 메서드를 통해 의존성을 주입.인터페이스 주입 : 특정 인터페이스를 통해 의존성을 주입.3. 코드 예제// 인터페이스public interface MessageService { void sendMessage(String..
개인 프로젝트 : 일정 관리 앱 JPA ver
·
Project
1. 프로젝트 개요이번 프로젝트는 Spring Boot를 사용하여 일정 관리 애플리케이션을 개발하는 것입니다. 이 애플리케이션은 사용자가 개인 일정을 관리할 수 있도록 다양한 기능을 제공합니다.2. 주요 기능회원가입 및 로그인: 사용자는 회원가입을 통해 계정을 만들고, 로그인하여 개인 일정을 관리할 수 있습니다.일정 관리: 사용자는 자신의 일정을 추가, 조회, 수정, 삭제할 수 있습니다.댓글 기능: 각 일정에 대해 댓글을 추가하고 관리할 수 있습니다.3. 기술 스택백엔드: Spring Boot, JPA데이터베이스: MySQL4. 코드 구성4.1. ControllerScheduleController : 일정 관련 API를 제공하는 컨트롤러입니다. 사용자의 요청을 처리하고, 비즈니스 로직을 호출하여 결과를 ..
(Spring) Servlet & DispatcherServlet 개념
·
Spring
1. Servlet1.1 정의Servlet은 자바를 사용하여 동적으로 웹 페이지를 생성하는 서버 측 프로그램입니다. 웹 애플리케이션의 핵심 구성 요소로, 클라이언트의 요청에 따라 동적으로 HTML이나 XML을 생성하고 이를 응답으로 반환합니다.1.2 동작 원리Servlet의 동작 과정클라이언트 요청 : 사용자가 웹 브라우저를 통해 HTTP 요청을 보냄Servlet 컨테이너 : 요청을 받은 Servlet 컨테이너(예: Tomcat)는 HttpServletRequest와 HttpServletResponse 객체를 생성HttpServletRequest : 클라이언트의 요청 정보를 담고 있는 객체HttpServletResponse : 서버의 응답 정보를 담고 있는 객체Servlet 찾기 : 요청된 URL에 따라..
(Spring) MVC와 Spring MVC
·
Spring
1. MVC(Model-View-Controller) 패턴MVC 패턴은 소프트웨어 디자인 패턴 중 하나로, 사용자 인터페이스와 비즈니스 로직을 분리하여 개발을 용이하게 만드는 구조입니다.→ 구성 요소Model : 애플리케이션의 데이터와 그 데이터를 처리하는 비즈니스 로직을 담당합니다.View : 사용자에게 데이터를 표시하는 부분으로, UI 요소를 담당합니다.Controller : 사용자의 입력을 받아 Model과 View를 연결해주는 중간 역할을 합니다.→ MVC의 흐름사용자의 요청이 Controller로 전달됩니다.Controller는 적절한 Model을 호출하여 데이터를 처리합니다.Model의 데이터를 View에 전달하여 사용자에게 결과를 보여줍니다. 2. Spring MVCSpring MVC는 Sp..
(SQL) 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문 만들기
·
SQL 문제풀이
▶ 문제USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요.▶ 소스코드SELECT COUNT(*) AS 회원수FROM user_infoWHERE joined BETWEEN '2021-01-01' AND '2021-12-31' AND age BETWEEN 20 AND 29;▶ 설명JOINED BETWEEN '2021-01-01' AND '2021-12-31': 가입일이 2021년 내에 있는 회원들을 필터링합니다.AGE BETWEEN 20 AND 29: 나이가 20세 이상 29세 이하인 회원만 선택합니다.COUNT(*): 조건에 맞는 회원의 수를 계산하여 반환합니다.
(JAVA) 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수 만들기
·
JAVA 알고리즘
▶ 문제두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.- 제한 사항 -두 수는 1이상 1000000이하의 자연수입니다.▶ 소스코드#include #include using namespace std;// 유클리드 호제법을 이용한 최대공약수 함수int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a;..
(SQL) 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 쿼리
·
SQL 문제풀이
▶ 문제동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.▶ 소스코드SELECT animal_idFROM animal_insWHERE name IS NULLORDER BY animal_id ASC;▶ 설명SELECT ANIMAL_ID: 동물의 ID만 조회합니다.FROM ANIMAL_INS: ANIMAL_INS 테이블에서 데이터를 가져옵니다.WHERE NAME IS NULL: 이름이 없는 동물들을 필터링합니다 (NAME이 NULL인 동물).ORDER BY ANIMAL_ID ASC: 결과를 동물의 ID 기준으로 오름차순 정렬합니다.