profile
서핑하는 개발자🏄🏽
태그 목록
전체보기 (85)back end(43)Java(43)자바(41)자바기초(28)Spring(24)스프링(22)React(15)리액트(14)백준(10)코딩테스트(10)프로그래머스(10)코테(10)알고리즘(10)코딜리티(8)jsp(8)자료구조(8)프로젝트(7)정보처리기사(7)개인프로젝트(7)스프링레거시(7)객체지향(7)front end(6)정처기(6)정처기실기(5)배열(5)정처기필기(5)python(4)정보처리기사필기(4)에러(4)오픈API(4)정보처리기사실기(4)MVC모델(4)오버라이딩(4)넥사크로(4)프레임워크(4)오버로딩(4)스프링기초(4)nexacro(4)서블릿(4)파이썬(4)리액트기초(4)정보처리기사 필기(3)openapi(3)정보처리기사 실기(3)servlet(3)MyBatis(3)클래스(3)비동기통신(3)오류(3)CSS(3)Springboot(3)소켓(3)추상클래스(3)socket(3)스프링부트(3)Map(2)오류해결(2)백엔드(2)error(2)JWT(2)java EE(2)egov(2)컬렉션(2)정처기 실기(2)파이썬기초(2)LIT(2)MVC모델2(2)MVC패턴(2)인터페이스(2)Collection(2)소셜로그인(2)jquery(2)플랫폼(2)메서드(2)요구사항확인(2)정처기 개념(2)서버(2)ajax(2)JVM(2)면접준비(2)List(2)필터(2)array(2)객체지향언어(2)style(2)JavaScript(2)tailwind(2)db(2)전자정부프레임워크(2)테일윈드(2)세션(2)정처기 필기(2)변수(2)exception(2)JPA(2)소켓통신(2)스타일(1)데이터베이스(1)State(1)개발환경(1)M:1(1)naver로그인(1)mysql(1)예외처리(1)투비소프트(1)데이터구조(1)Naver(1)mvc프레임워크(1)tailwindCSS(1)스프링프로젝트(1)개발자(1)restapi(1)스타일컴포넌트(1)리액트앱(1)NoClassDefFoundError(1)components(1)aws(1)단위테스트(1)자바코드(1)인터셉터(1)JSX(1)데이터처리(1)실기(1)스케줄러(1)overloding(1)의존성(1)리눅스(1)필터링(1)스프링입문(1)메소드(1)관점지향프로그래밍(1)소켓서버(1)iBatis(1)set(1)kakao(1)nexacro17(1)도커(1)예외(1)JAVA기초(1)session(1)연동(1)로그인(1)이클립스(1)스프링설정(1)JSP기초(1)Springlegacy(1)주소API(1)아마존(1)다중상속(1)formData(1)sql(1)관점지향(1)간편결제(1)ORM(1)LomBok(1)풀스택(1)라이브러리(1)토스(1)INSERT(1)OOP(1)Restful(1)webapp(1)리스트(1)평균(1)http(1)오버라이드(1)구간합(1)카카오API(1)쿠키(1)Interceptor(1)mac(1)솔리드원칙(1)junit(1)include(1)컴포넌트(1)toss(1)Fullstack(1)형변환(1)서버개발(1)톰캣(1)컬렉션프레임워크(1)centos(1)기술면접(1)MVC(1)트윈(1)롬복(1)다형성(1)레벨2(1)react프로젝트(1)main()메소드(1)PostgreSQL(1)비동기(1)class(1)tobesoft(1)사이드프로젝트(1)Spring입문(1)기상청API(1)Payments(1)method(1)main(1)에러해결(1)tomcat(1)결제(1)SOLID원칙(1)테스트(1)ec2(1)리액트입문(1)effects(1)토큰(1)HttpServletRequest(1)docker(1)MacOS(1)편의기능(1)리액트 기초(1)초기설정(1)kakao로그인(1)aop(1)interface(1)자격증(1)면접질문(1)Spring-legacy(1)twin(1)di(1)
post-thumbnail

[JPA]JPA 사용 목적

포스팅 목적 >JPA의 개념을 알아보고, JPA의 사용이 객체지향 프로그래밍과 어떤 관계가 있는지에 대해서 알아보자. JPA란? >JPA(Java Persistance API)는 자바 진영의 ORM 표준 기술로 애플리케이션과 JDBC 사이에서 동작한다. 즉, 자바 ORM 기술에 대한 API 표준 명세이다. 여기서 ORM이 무엇인지에 대해 먼저 살펴보고 넘어가자. ORM ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑하는 것을 의미한다. 즉 객체와 테이블을 개발자 대신 매핑하여 객체중심의 개발이 가능하도록 보조하는 역할을 한다. 대표적인 프레임워크로 Hibernate가 있다. ORM의 동작 원리를 간단하게 표현하면 다음과 같은 순으로 동작한다.

약 6시간 전
·
0개의 댓글
·
post-thumbnail

[코테]프로그래머스 - 과제 진행하기

문제 문제 설명 >과제를 받은 루는 다음과 같은 순서대로 과제를 하려고 계획을 세웠습니다. 과제는 시작하기로 한 시각이 되면 시작합니다. 새로운 과제를 시작할 시각이 되었을 때, 기존에 진행 중이던 과제가 있다면 진행 중이던 과제를 멈추고 새로운 과제를 시작합니다. 진행중이던 과제를 끝냈을 때, 잠시 멈춘 과제가 있다면, 멈춰둔 과제를 이어서 진행합니다. 만약, 과제를 끝낸 시각에 새로 시작해야 되는 과제와 잠시 멈춰둔 과제가 모두 있다면, 새로 시작해야 하는 과제부터 진행합니다. 멈춰둔 과제가 여러 개일 경우, 가장 최근에 멈춘 과제부터 시작합니다. 과제 계획을 담은 이차원 문자열 배열 plans가 매개변수로 주어질 때, 과제를 끝낸 순서대로 이름을 배열에 담아 return 하는 solution 함수를 완성해주세요. 제한사항 >제한사항 3 ≤ plans의 길이 ≤ 1,000 plans의 원소는 [name, start, play

6일 전
·
0개의 댓글
·
post-thumbnail

[JAVA]Collection 프레임워크(2)

Collection 프레임워크란? >📖 데이터를 보관하기 위한 자료구조와 데이터를 처리하기 위한 알고리즘을 구조화하여 클래스로 구현해 놓은 것 지난 시간에는 Collection 프레임워크 중 List와 Set에 대해서 알아보았다. 다시 한번 특징을 간단하게 생각해보자. ⚡️ 특징 🖥️ List 순서가 있으며, 객체를 일렬로 나열해놓은 구조 Null값이 허용되며, 이 경우 해당 인덱스는 참조를 갖지 않음 동일한 객체 중복저장 가능하며 동일한 번지를 참조 🖥️ Set 순서가 없이 객체를 모아둔 집합 형태의 구조 객체의 중복을 허용하지 않음 Null은 오직 1개만 저장 가능 객체를 저장한 순서와 꺼내는 순서가 다름 🖥️ Map Key와 Value방식으로 구성된 Entry 객체를 저장하는 구조 Key값 중복 불허, Value 중복 허용(Key가 중복된 Value의 동일한 번지를 참조)

2023년 4월 25일
·
0개의 댓글
·
post-thumbnail

[JAVA]Collection 프레임워크에 대하여 알아보기

Collection 프레임워크란? >📖데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해놓은 것 다시 말해 collection 프레임워크란 다수의 데이터를 쉽고 효율적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합이다. ⚡️ collection 프레임워크의 주요 인터페이스 List : 순서가 있는 객체의 저장 공간, 데이터의 중복을 허용 Set : 순서가 없는 객체의 저장 공간, 데이터의 중복을 불허 Map : key-value로 데이터를 핸들링하며, key는 중복을 불허하고 value는 중복을 허용 ⚡️ collection 프레임워크의 구성 여기서 Map은 구조상의 차이로 인해 collection과 별개의 인터페이스로

2023년 4월 18일
·
0개의 댓글
·
post-thumbnail

[JAVA]SOLID 원칙 이해해보기

SOLID 원칙이란? >객체 지향 설계를 위한 일반적인 원칙으로 단일책임 원칙, 개방/폐쇄 원칙, 리스코프 치환 원칙, 인터페이스 분리 원칙, 의존관계 역전 원칙으로 구성 OOP의 좋은 설계를 목적으로 할 때 코드의 재사용성, 유지보수의 편의성, 테스트의 용이성 등을 고려하고 개선하기 위하여 SOLID 원칙을 적용한다. 어떤 부분에서 개선이 이루어지는지 간단하게 알아보고 넘어가자. 적용이유 유지보수성 개선 : 변경이 필요한 부분을 수정할 때 다른 부분에 영향을 최소화할 수 있도록 단일책임, 개방/폐쇄, 리스코프 치환 원칙을 적용한다. 확장성 개선 : SOLID원칙을 따를 경우 코드는 확장이 쉽게 가능한 구조를 갖추게 됨. 이에 따라 새로운 요구사항이나 기능 추가가 있을 경우 해당 부분만 수정하고 확장이 가능하다. 재사용성 개선 : 높은 응집도와 낮은 결합도를 가지게 되므로 코드의 재사용성이 향상된다. 단일책임을 가지는 클래스나 메소드가 독립적으로 존재하기 때

2023년 4월 15일
·
0개의 댓글
·
post-thumbnail

[프로젝트]JWT 인가(With Interceptor)

지난번 게시글에서 JWT를 이용한 로그인 기능 구현을 통해 인증(Authentication)에 대해서 다뤄보았다. 이번에는 Interceptor와 JWT를 이용한 인가(Authorization)에 대하여 다뤄보려한다. 인가(Authorization)란? >📖인증된 사용자가 어떠한 작업을 수행할 수 있는 권한을 가지고 있는지 검증하는 작업. 즉, 특정 리소스에 대한 액세스 권한이 있는지를 확인하는 작업이다. 인증과 인가, 우리가 자주 접하는 단어들이지만 조금은 헷갈리는 단어들이이게 사전정 적의를 통해 차이를 알아보았다. 인증(Authentication) : 사용자가 자신의 신원을 증명하고 인증하는 프로세스(예: 로그인 등) 인가(Authorization) : 인증된 사용자가 특정 리로스에 대한 액세스 권한이 있는지를 확인하는 작업(예: 로그인, 본인확인 여부 등) JWT는 인증 수행한 사용자에 한하여 인증된 정보를 확인하고 검증하여 인가를 통해 사용자가 특정

2023년 4월 10일
·
0개의 댓글
·
post-thumbnail

[JAVA]다형성, 오버로딩, 오버라이딩의 차이

기본개념 ⚡️ 다형성(Polymorphism)이란? >📖객체지향 프로그래밍 언어의 핵심 개념 중 하나로 하나의 변수나 객체가 여러 가지 형태를 가질 수 있는 것을 의미 다시 말해 같은 코드에서 하나의 메소드나 변수가 다양한 타입의 객체에 대해 동작할 수 있도록 하는 것이다. 여기서 중요한 부분은 우리가 다형성에 대해 배울 때 하나의 자료형이 여러가지 자료형으로 변환될 수 있다고 배운다. 하지만 엄밀히 따지자면 메소드가 여러가지 자료형을 인수로 받아서 동작하는 것도 다형성이라고 할 수 있는 것이다. ⚡️ 오버로딩(Overloding)이란? >📖같은 클래스 내에서 동일한 이름의 메소드를 매개변수의 개수나 자료형이 다른 여러 개의 메소드로 정의할 수 있는 메소드 정의 기법 오버로딩은

2023년 3월 5일
·
0개의 댓글
·
post-thumbnail

[Spring] 스프링 레거시 - 초기설정(3)

이번 게시글에서는 Rest API를 준수하기 위하여 http 메소드를 사용하는 경우에 GET과 POST 두가지 방식만 지원하는 브라우저가 있을 수 있다. 그럴때는 오류가 발생하는데 이러한 오류를 방지하고 해결하기 위하여 사용하는 Spring의 객체를 알아보자. ⚡️ HiddenHttpMethodFilter란? >📖Rest API 방식에서 http 메소드를 준수하여 동작하게 하기 위하여 POST 방식의 Overloaded Post를 지원하는 Spring 프레임워크의 객체 HiddenHttpMethodFilter(이하 히든필터)는 web.xml에 선언하여 사용할 수 있으며, POST 방식에 히든으로 PUT, DELETE 등의 메소드를 설정하여 전송하면 해당 메소드를 분석하여 요청을 처리하는 역할을 해준다. ⚡️ web.xml 선언 POST에 숨겨진 PUT, DELETE 메서드 식별을 위하여 먼저 필터로 설정을 해주겠다. 아래 코드를 web.xml의 encoding

2023년 3월 1일
·
0개의 댓글
·
post-thumbnail

[JAVA]main메소드 오버라이드/오버로딩

main 메소드의 오버라이드 독립실행형 프로그램을 실행시키기 위해서는 main 메소드를 보유하고, 해당 메소드를 보유한 클래스를 통해 프로그램이 실행된다. 그렇다면 만약 상속관계에서 슈퍼클래스가 main 메소드를 보유하고 있다면 서브 클래스가 슈퍼클래스의 main메소드를 오버라이드 하는 것이 가능할까? 결론부터 이야기하자면 불가능하다. ⚡️ 이유 메소드의 오버라이드는 클래스 간의 상속 또는 인터페이스와 클래스의 구현 관계에서 적용할 수 있는 메소드 적용 기법이다. 그렇다면 오버라이드가 적용되는 시점은 언제일까? 메소드의 오버라이드가 적용되는 시점은 인스턴스가 메모리 영역에 올라가는 시점이다. 즉, 실행(런타임) 환경에서 오버라이드가 적용되는 것이다. 이렇게만 이야기하면 헷갈릴 수 있다. 아래 코드를 통해 main 메소드의 선언부 형태를 들여다보자. 여기서 중요한 키워드는 static이다. static은 프로그램이 실행되면 클래스들의 코드 원본이 올라가는 JV

2023년 3월 1일
·
0개의 댓글
·
post-thumbnail

[JAVA]추상 클래스와 인터페이스의 차이

추상클래스와 인터페이스란? ⚡️ 추상 클래스 >📖하나 이상의 추상 메소드를 보유하고 있거나 abstract 키워드가 붙은 미완성 클래스 ⚡️ 인터페이스 >📖추상 메소드와 상수만으로 구성되어 있으며 클래스의 기본 틀을 제공하는 일종의 추상 클래스 (자바 8부터 default 메소드도 지원) 아직 추상 클래스와 인터페이스에 대한 개념을 알아보지 못하였다면 아래 링크들을 참고하여 간단히 알아보고오자. 추상클래스와 [인터페이스](https://velog.io/@ung6860/JAVA%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4Interface%EC%97%9

2023년 2월 27일
·
0개의 댓글
·
post-thumbnail

[JAVA]추상클래스에 대하여 알아보자

추상 클래스(Abstract Class)란? >📖하나 이상의 추상 메소드를 포함하는 클래스 일반적으로 우리가 사용하는 클래스는 구체적(concrete)으로 데이터를 담아 인스턴스화하는 클래스이다. 그와 반대로 추상 클래스는 특정 개발 시점에 내용을 확정지으면 안되거나 계획(틀)만을 세울 때 추상적인(abstract) 데이터를 담고 있는 클래스이다. 또한, 하나 이상의 추상 메소드를 보유함으로써 클래스를 불완전한 상태로 선언하여 서브 클래스로 하여금 메소드 오버라이드를 통해 추상 메소드를 완성하도록 구현을 강제한다. 그렇다면 어떤 특징이 있는지 알아보자. ⚡️ 추상 클래스의 특징 추상 메소드와 일반적인 메소드를 선언할 수 있다. 추상 클래스를 상속받는 모든 서브 클래스들은 추상 메소드를 반드시 재정의(강제구현)해야한다. new 연산자 사용을 통한 인스턴스화가 불가능하다. 추상 클래스를 선언 할 때에는 abstract 키워드를 사용해야한다. 아

2023년 2월 22일
·
0개의 댓글
·
post-thumbnail

[JAVA]인터페이스(Interface)에 대해 알아보자

인터페이스란? >📖다른 클래스를 작성할 경우 기본이되는 틀을 제공하면서 다른 클래스 사이의 중간매개 역할까지 담당하는 일종의 추상클래스를 의미. 인터페이스는 프로그램 내 다양한 기능을 하는 클래스들에게 기본이 되는 틀을 제공한다. 이 말이 무엇인지 간단한 예시를 들어보겠다. 아래는 Animal이라는 인터페이스가 있으며, 이를 구현하는 Dog와 Cat의 코드이다. 🖥️ 인터페이스 🖥️ 구현 클래스 위 코드에서 Animal이 Dog와 Cat에게 제공하는 기본 틀은 무엇일까? 바로 move()라는 추상메소드이다. 인터페이스는 클래스들이 공통적으로 구현해야할 메소드에 대하여 강제구현 의무를 부여한다. 이 말은 공통적으로 수행해야할 기본적인 기능을 인터페이스가 정의하여 제공한다

2023년 2월 20일
·
0개의 댓글
·
post-thumbnail

[Spring]스프링 레거시 - 초기 설정(2)

필터란? >📖 요청 발생 시 DispatcherServlet보다 먼저 요청을 접수하여 요청에 대한 부가작업 또는 정제하는 역할을 수행할 수 있는 객체 DispatcherServlet(이하 디스패쳐)은 스프링 컨텍스트 내에 포함되어 있지만 필터는 톰캣과 같은 웹 컨텍스트에서 관리하는 객체이다. 따라서 스프링에서만 사용할 수 있는 객체가 아니라는 의미이기도하다. ⚡️ 필터의 역할 필터는 디스패쳐 서블릿이 요청을 접수하기 전에 먼저 요청 처리에 필요한 초기 설정들을 적용하거나 기타 부가작업을 할 수 있는 역할을 수행한다. 예를 들어 요청을 처리할 때마다 반복적으로 수행하는 동작이 있다면 필터를 설정하여 해결할 수 있다. 즉, 필터는 반복적이거나 선행되어야하는 기능을 사전에 수행하여 코드를 간소화

2023년 2월 18일
·
0개의 댓글
·
post-thumbnail

[오류]Spring formdata 전송 시 null 에러

에러상황 Spring 실습 중 ajax를 이용한 비동기 방식으로 multipart-data를 요청받아 업로드 및 DB등록을 하는 기능을 구현하던 상황. 분명히 ajax에서 설정을 완료하고 console.log에도 데이터가 입력되는 것을 확인하였으나 controller에서 지속해서 null값 반환함. 각 부분별 코드는 아래와 같다. 🖥️ ajax 🖥️ controller 넘어오는 방식이나 요청을 받는 위치에서의 문제는 없었다. 근데 아래와 같이 오류가 나는 것이다. 원인을 찾기 위해서 구글링을 열심히 했지만 Json으로 데이터를 넘겨주지 않았다던지 @RequestBody를 사용하지 않았다던지 하는 등의 이유들을 모두 고려해서 코드를 수정해도 오류는 동일하게 발생하였다. -

2023년 2월 16일
·
0개의 댓글
·
post-thumbnail

[Spring]스프링 레거시 - 초기 설정(1)

스프링레거시 프로젝트 준비하기 ⚡️ 설치환경 준비(Mac M1기준) 🖥️ JDK설치 Mac M1을 기준으로 openjdk 11버전을 설치해보자. brew는 깔려있다는 전제 하에 시작하겠다. openjdk 저장소 추가 cask가 없는 경우 설치 OpenJDK 11 설치 설치 여부 확인 🖥️ Tomcat 9.0 설치 사이트 접속하여 tomcat 설치 https://tomcat.apache.org/download-90.cgi 아래와 같이 tar.gz파일을 다운로드하면된다. 혹시 windows 사용자라면 자신의 bit에 맞는 버전을 다운로드하자. tomcat이 다운로드된 위치로 이동하여 아래 커맨드 입력 후 실행 위의 상세경로는 일반적으로 /Library에 넣

2023년 2월 15일
·
2개의 댓글
·
post-thumbnail

[JAVA]오버라이딩 및 오버로딩의 예외

오버라이딩의 예외처리 주요 제한사항 오버라이딩은 상속 또는 구현관계에 있는 객체가 상위 객체의 메서드를 재정의하여 사용하는 메서드 정의 기법이다. 재정의하여 사용해야하는 이러한 메서드 정의 기법에서 예외처리 시 어떤 제한사항이 있는지 알아보자. ⚡️ '새로운' 예외는 Throws 할 수 없음 해당 제한사항에서는 '새로운'이라는 키워드에 집중해야한다. 만일 상위 객체가 예외를 throws하지 않은 메서드를 보유하고 있으며, 하위 객체가 이 메서드를 재정의 할 경우 '새로운' throws를 선언 할 수 없다는 것이다. 🖥️ 예시 위 처럼 상위 객체가 throws를 선언했다면 하위 객체에서도 throws를 선언하여 예외를 던질 수 있는 것이다. 아래는 잘못된 예시다. ⚡️ 예외를 상위 객체보다 많이 선언할 수 없다. 위의 '새로운'과 거의 유사하다. 만일 슈퍼 클래스가 IOException만 오버라이드할 메서드에 선언했다면 자식 메서드도

2023년 2월 12일
·
0개의 댓글
·
post-thumbnail

[Spring]스프링 기초 - AOP(Aspect Oriented Programming)

AOP란? >📖스프링 프레임워크의 핵심 개념 중 하나로 Aspect Oriented Programming(관점지향 프로그래밍)이다. 그렇다면 관점지향 프로그래밍은 또 무엇인가? 스프링에서는 기존 AspectJ(라이브러리)를 차용한 개념으로 간단하게 설명하면 흩어진 관심사(Cross-Cutting Concern)를 모듈화 할 수 있는 프로그래밍 기법이다. 이 말은 프로그램의 특정 로직을 핵심적인 관점, 부가적인 관점으로 나누어 보고 그 관점을 기준으로 각각 모듈화를 하겠다는 것이다. 예를 들어 쇼핑사이트에서 고객이 물품을 구매하거나 장바구니를 확인하는 등의 기능을 사용하려면 로그인이 되어있어야 하는데 프로그램은 해당 기능을 사용하려는 고객이 로그인이 되어있는지 여부를 계속 확인해야한다. 이 부분이 바로 부가적인 관점이자 흩어진 관심사가 되는 것이다. >흩어진

2023년 2월 12일
·
0개의 댓글
·
post-thumbnail

[Spring]스프링 기초 - DI(Dependency Injection)

의존성(Dependency)이란? >📖다른 객체의 영향을 받고, 다른 객체에 따라 결과가 좌우되는 것 의존성의 사전적 정의는 위와 같다.(여기서 '객체'는 내가 사전적 의미에서의 '변인'을 바꾼것이다.) 객체지향에서 의존성은 객체 간의 협력은 필수적이며 객체가 협력하기 위해서는 각 객체들이 서로에게 영향을 받고 그에 따라 결과가 달라지는 것을 의미한다. 우리가 매개변수 또는 리턴값 등으로 다른 객체에 영향을 미치거나 받는다. 이러한 것들이 의존성과 관련되어있다고 생각하면 편하다. 그렇다면 의존성은 높은게 좋은건지 낮은게 좋은건지 알아보자. ⚡️ 의존성의 정도 객체지향 프로그래밍에서 객체가 다른 객체로부터 영향을 적게 받는 것이 좋을까? 아니면 영향을 많이 받는 것이 좋을까? 여기서 이야기하는 영향은 협력하는 특정 객체가 삭제 또는 변경될 시에 다른 객체들에게 미치는 효과를 이야기한다. 잘 판단이 되지 않는다면 의존성의 특징을 먼저 알아보자. 🖥️ 의존성

2023년 2월 8일
·
0개의 댓글
·
post-thumbnail

[Spring]스프링 기초 - MVC 프레임워크 따라만들기(3)

지난 게시글들을 통해 Front Controller 패턴에 대해서는 좀 익숙해졌다. 동작하는 원리를 이해했으며, MVC 모델 내에서 어떤 역할을 하는지에 대해서 예제를 통해 알아보았다. 이번 게시글에서는 요청을 위임받은 컨트롤러와 DAO사이의 중간자 역할을 하며, 비즈니스 로직을 수행하는 Service에 대해서 알아보려고한다. 그럼 시작해보자. Service란? >📖주 업무로는 트랜잭션을 수행하고, 이를 수행하기 위해 DB연결 객체를 보유한다. 또한, 컨트롤러로부터 위임 받은 요청 처리를 위한 비즈니스 로직을 수행하는 순수한 자바 코드(POJO)를 가진 클래스를 의미 Service(이하 서비스)는 이전까지 우리가 만들었던 MVC 프레임워크에는 존재하지 않던 클래스이다. 그렇다면 왜 갑자기 등장하게

2023년 2월 7일
·
0개의 댓글
·
post-thumbnail

[Spring]스프링 기초 - MVC 프레임워크 따라만들기(2)

이번 게시글에서는 이전에 따라만들었던 Front Controller(dispatcherServlet)를 다른 방법을 적용하여 만들어보려고 한다. 그냥 바로 시작해보자. DispatcherServlet의 역할 이전게시글을 통해 우리는 MVC 모델의 Front Controller가 dispatcherServlet이라는 것을 알 수 있었다. dispatche

2023년 2월 6일
·
0개의 댓글
·