╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Java 31

[Spring Boot] Configuration Component (@Configuration, @Bean)

이번에는 @Configuratoin 어노테이션에 대해 알아 볼 것이다. 우선 Configuration이란? 구성이라는 뜻이다. 스프링에서도 같은 의미도 사용된다. 사용도 특별하지 않다. 다른 어노테이션들 처럼 클래스 정의부에 달아주면된다. @Configuration @Configuration 어노테이션을 달아주면 해당 클래스는 xml 설정을 대체하는 스프링 설정 클래스가 된다. (Java Config) 쉽게 말하자면, 스프링이 돌아가는데 있어서 설정을 관리하는 객체라는 말이다. 추가적으로 Bean이란 스프링 IoC 컨테이너에 등록된 객체를 말한다. Bean도 일종의 POJO이다. 크게 다를게 없다. 그런데 이때 스프링 IoC 컨테이너에 등록되어야지만, 스프링이 돌아가는데 있어서 해당 객체들을 사용 할 수..

Java/Spring Boot 2022.07.18

[Spring Boot] Repository Component (MyBatis, @Mapper, Insert, Domain)

이번에는 Spring MVC Architecture의 Model 부분과 관련된 Repository에 대해 알아 볼 것이다. 그 동안 모든 Component는 특정 어노테이션을 통해 IoC 컨테이너에 Bean으로 등록하고 어떤 Layer에서 사용 될 지 가시성 있게 표시하였다. 예를들면 @Controller 어노테이션을 통해 해당 IoC 컨테이너에 객체를 Bean으로 등록 및 Presentation Layer에서 사용될 Controller임을 명시하였다. 이처럼 그동안 어노테이션을 통해 각각 명시하였다. 그래서 Repository도 당연히 @Repository 어노테이션을 사용할 것이라고 생각 할 수 있다. 그러나 이번에 Repository를 구현함에 있어서 @Repository 어노테이션은 사용하지 않을..

Java/Spring Boot 2022.07.17

[Spring Boot] Controller Component 개념 2 (@ResponseBody, @RestController, @RequestMapping, @RequestBody, @POST 요청 )

이번에는 저번에 말했듯 또 다른 Controller Component @RestController에 대해 알아 볼 것이다. 그런데 알아보기전 사전의 복습이 필요하다. 왜냐하면 지난번에 알아봤던 @Controller를 통해서 @RestController가 무엇인지 알아 볼 것이기 때문이다. 복습 지난번에 @Controller는 view 요청을 handle 할 때 사용 한다고 했다. @Controller 내부의 메소드가 어떤 값을 반환하면 그 값은 View Resolver에게 전달되어 view 파일의 절대경로가 만들어진다고 했다. 해당 메소드는 문자열 "index" 를 반환한다. 만약 이때, index.html을 render하고 싶은게 아니라 "index" 문자열 자체를 응답해 줘야 하는 경우도 있다. 응답..

Java/Spring Boot 2022.07.17

[Spring Boot] Controller Component 개념 1 (@Controller, @GetMapping, @RequestParam, GET 요청 )

이번엔 Spring MVC에서 C를 담당하고 있는 Controller Component에 대해 알아 볼 것이다. 이때 Component란? 구성요소라는 뜻으로 독립적인 단위 모듈을 뜻한다. 스프링 부트에선 IoC 컨테이너에 등록된 클래스를 뜻한다. @Component 어노테이션을 사용해 직접 작성한 클래스를 IoC 컨테이너에 등록 할 수 있다. 추가적으로 이때 IoC 컨테이너에 등록된 객체를 Bean이라고 한다. 이제 Controller Component에 대해 알아보겠다. Controller Component란? Client의 요청을 직접적으로 받는 Component이다. Cleint가 url을 통한 요청을 보내면 해당 url에 매칭되는 Controller가 해당 요청을 handle한다. 소스코드에서 ..

Java/Spring Boot 2022.07.16

[Spring Boot] Service Component 개념 (@Service, @RequiredArgsConstructor)

이번엔 Spring MVC에서 Model과 관련된 Service Component에 대해서 알아보겠다. 흐름의 순서는 Controller -> Service -> Repository라서 Controller를 먼저 알아야 하지만 Controller와 관련된 개념을 최대한 제외하고 Service 자체를 먼저 알아보겠다. 우선 스프링부트에서 Component가 무엇을 뜻하는지 먼저 알아야한다. 이때 Component란? 구성요소라는 뜻으로 독립적인 단위 모듈을 뜻한다. 스프링 부트에선 IoC 컨테이너에 등록된 클래스를 뜻한다. @Component 어노테이션을 사용해 직접 작성한 클래스를 IoC 컨테이너에 등록 할 수 있다. 이때, IoC 컨테이너에 등록되어 IoC가 관리하는 객체를 Bean이라고 한다. 이번에..

Java/Spring Boot 2022.07.16

[Spring Boot] Spring MVC Architecture 개념

Spring MVC Architencure란?Spring에서 제공하는 web module로 Spring MVC Architecture는 Front Controller Design Pattern을 토대로 MVC Design Pattern을 반영하여 만들어졌다. Front Controller Design Pattern이란?HttpServlet을 상속한 Front Controller가 웹 어플리케이션에서 모든 요청을 담당하는 구조를 말한다. MVC Design Pattern이란?웹 어플리케이션의 구현을 3개의 레이어로 나눈 구조를 뜻한다.웹 어플리케이션의 응답에있어서 구조를 Model, View, Controller로 나누어서 구현 및 관리 하는 것이다. 하나의 Servlet이 모든 request를 담당하고 ..

Java/Spring Boot 2022.07.14

[Spring Boot] 스프링 부트 입문

스프링 부트는 스프링을 더 쉽게 이용하게 해주는 도구이다. 스프링 부트에 대해 알아보기전 스프링이 뭔지를 알아야한다. 스프링이란? 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임 워크이다. 자바 객체와 라이브러리를 관리해주며 자체 WAS가 내장되어있다. (Tomcat) 스프링 프레임워크 특징 스프링의 가장 큰 특징으로 3가지 특징이 있다. POJO IoC DI Plain Old Java Object 객체지향의 기본 원리에 충실하면서 환경과 기술에 의존하지 않고 필요에 따라 제약없이 재사용 가능한 Java Object를 뜻한다. Inversion of Control 객체의 생성 및 생명 주기의 관리를 사용자가 직접하는 것이 아니라 다른 주체가 하는 것을 말한다. IoC Container가 POJO의 생..

Java/Spring Boot 2022.07.14

[JSP Servlet] 로그인 및 회원가입 구현

첫번째 프로젝트로 todolist를 만들어보기로 했다. 잘만들지는 못했지만 혼자서 다 만들었다.삽질도 많이 했고 고생도 많았지만 결국 이 프로젝트 덕분에 많이 배우고 있다고 생각한다.아직 구현하지 못한 기능들이 많지만 그래도 구현한 부분들에 대해 먼저 알아보겠다. 구글, 유튜브 등 많은 소스들을 참고하며 공부하였다. Index 페이지부터 보겠다.Index 페이지로 들어오면 바로 sign in / sign up form이 뜨기 때문이다.  이미지 출저는 여기이다.  https://ls.graphics/illustrations Illustrations for your next projectBright and colorful illustrations. Regularly updates and new illust..

Java/Jsp Servlet 2022.07.06

[JSP Servlet] JSP Servlet 개념 및 사용 (MVC)

웹을 만들기위해 Jsp와 Servlet을 사용하기 전에 Jsp와 Servlet이 무엇인지 그리고 웹프로그래밍에서 MVC 패턴이 무엇인지에 대해 알아보고자 한다. 우선 Jsp와 Servlet의 관계를 먼저 알고 알아보는 것이 좋겠다. Servlet의 단점을 보안하기위해 Jsp를 사용한다는 것이다. Servlet Servlet이란? a small, server-resident program that typically runs automatically in response to user input. 간단하게 말하자면 API이다. Java EE의 Dynamic Web Project로 웹을 만들 때 페이지에 대한 요청과 응답을 간단한 메소드 호출로 해결할 수 있게 해주는 자바 라이브러리이다. 웹페이지에 대한 클라..

Java/Jsp Servlet 2022.06.25

[Java] 자바 DB 연동 (jdbc)

자바로 프로그래밍을 아무리 잘해도 결국 db와 연동을 시켜야 사용하고자 하는 용도로 사용할 수 있다. 우선 JDBC(Java Database Connectivity)란 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. jdbc를 통해 아래와 같은 일을 수행할 수 있다. (CURD) insert select update delete jdbc내의 Driver라는 클래스를 사용해 Java 어플리케이션과 db를 연결한다. (Connection) 주의사항으로 각 db마다 다른 Driver 클래스를 사용한다. 예) Oracle - OracleDriver, MySQL - Driver 각각의 db마다 driver class는 각각의 공식사이트에서 다운받을 수 있다. (jar) jar 파일을 다운받아서 l..

Java/Java 기초 2022.05.07