Yuni Devlog
article thumbnail
[Spring]DataSource / JNDI / Connection Pool
Spring 2022. 10. 26. 11:11

✨DataSource 물리적인 DB에 연결하기 위한 팩토리 데이터소스는 DB에 연결하기 위해 이름/비밀번호, URL을 사용한다. 보통 데이터소스는 Connection을 얻기 위해 사용된다. JDBC API가 제공하는 데이터소스 객체를 사용하면, DriverManager를 사용하지 않고 DB연결을 할 수 있다. 자바에서 데이터소스는 javax.sql.DataSource 인터페이스를 구현한다. 이 데이터소스의 구현체는 JNDI 서비스에 등록되고, JNDI 이름을 사용하여 식별된다. 데이터소스를 통해 다음을 얻을 수 있는 것 커넥션 객체 커넥션 풀에서 사용가능한 커넥션 분산 트랜잭션과 커넥션 풀에서 사용가능한 커넥션 DB와 관계된 커넥션 정보를 담고있고, 빈으로 등록하여 인자로 넘겨준다. → 이런 과정을 통해..

article thumbnail
[Spring]Interceptor
Spring 2022. 10. 25. 17:43

😺 Spring Interceptor 어떠한 uri를 호출했을 때, 해당 요청의 Controller가 처리되기 전 또는 후에 작업을 하기 위해서 사용된다. jsp의 Filter와 비슷하다. 필터는 DispatcherServlet 앞 안에서 동작, 인터셉터는 DispatcherServlet에서 HandlerController로 가기 전에 동작함. 필터는 J2EE표준스펙에 있는 서블릿의 기능 중 일부이지만, 인터셉터는 스프링 프레임워크에서 제공되는 기능이다. 따라서 필터와 달리 인터셉터에서는 스프링빈을 사용할 수 있다.(스프링빈? 자동으로 객체 생성하는 것) 필터는 문자열 인코딩과 같은 웹전반에서 사용되는 기능을 구현 인터셉터는 클라이언트의 요청과 관련이 있는 로그인, 인증, 권한 등의 기능을 구현 😺@Co..

article thumbnail
[Spring]Spring Framework 구조
Spring 2022. 10. 19. 17:31

💚Spring Framework의 전체 실행 순서 Request ⏩ DispatcherServlet (web.xml) ⏩ HandlerMapping (servlet-context.xml) ⏩ Controller [Controller -> Service -> DAO -> DB -> DAO -> Service -> Controller] ⏩ DispatcherServlet ⏩ ViewResolver ⏩ View ⏩ DispatcherServlet ⏩ Response 일반적인 기본 동작 순서🧚‍♂️ 위 예시에서 Controller 뒷부분의 과정을 생략함🧚‍♂️ 🧚‍♂️실행 순서 클라이언트가 요청을 보냄. 클라이언트의 요청을 DispatcherServlet이 가로챔. web.xml의 에 등록된 내용만 가로챔(모든..

article thumbnail
[Spring]Logging
Spring 2022. 10. 7. 13:33

🖍️Logging ? 실무에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하거나 디버깅하지 않는다. 별도의 logging 라이브러리를 사용하여 디버깅이나 타임스탬프 등 정해진 양식에 맞추어 화면 상이나 파일 로그를 남길 목적으로 사용한다. 종류 log4j, logback, log4j2가 있다. 그리고 그것을 통합해서 인터페이스로 제공하는 SLF4J 라이브러리가 있다. logback log4j이후 출시, 보다 향상되고 가장 널리 사용되고 있는 Java logging 프레임 워크 중 하나 slf4j의 구현체, 동작하기에 Spring Boot환경에서는 spring-boot-starter-web안에 spring-boot-starter-logging의 logback이 기..

article thumbnail
[Spring]AJAX응답
Spring 2022. 10. 4. 16:10

💚스프링부트 + AJAX #main.html 회원리스트 id를 고유하게 줘야 리스트가 만들어진다. #MemberController package com.example.demo.controller; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annot..

article thumbnail
[Spring]Exception처리
Spring 2022. 10. 4. 10:43

💚스프링부트 + Exception 처리 스프링부트에서 Exception은 공용으로 처리하는 경우, 패키지마다 따로 처리하는 경우가 있다. 예시를 통해 살펴보자. ex) 만약 DataAccessException이 발생하게 하려면 memberMapper.xml에서 쿼리 부분이 틀려야할 것이다. #MemberMapper.xml SELECT * FROM MEMBER SELECT * FROM MEMBER WHERE IDD=#{paramId} #MemberMapper package com.example.demo7.mapper; import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.P..

article thumbnail
[Spring]간단한 웹 프로젝트 개발하기
Spring 2022. 9. 23. 12:29

스프링을 공부하면서 간단한 웹 프로젝트를 개발해보았다 ! 참고로 개발도구는 이클립스를 사용했다. 🔍프로젝트 생성하기 먼저 이클립스에서 스프링 프로젝트를 생성한다. 그리고 next버튼을 누른 뒤 필요한 라이브러리를 선택해서 가져올 수 있다. 💡build.gradel 🔍DB연결하기 💡application.properties 작성한다. MyBatis - 스프링 프레임워크는 쿼리문을 별도로 xml문서로 관리한다. location은 그 위치를 알려주는 것이다. 장점은 쿼리문이 자바 소스 안에 없고 밖에 있기 때문에 관리하기가 용이하다. 💡쿼리XML 파일 생성한다. id는 Mapper의 메서드명과 동일해야한다. xml의 쿼리문은 Mapper의 이름과 매치시켜야한다. resultType은 결과를 담는 것. 🔍소스코드..

article thumbnail
[Spring]REST API란 무엇일까?
Spring 2022. 7. 29. 16:49

스프링부트를 공부하면서 REST API에 대해 궁금한 것이 많아서 정리해보았다. 먼저 REST에 대해 알아본 후, REST API에 대해 알아보자 ! 🧐REST API(Representational State Transfer API) REST를 기반으로 만들어진 API를 의미한다. 💡REST(Representational State Transfer)란? 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다. 1) HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고 2) HTTP Method(POST, GET, PUT, DELETE)를 통해 3) 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것 📎CRUD Ope..

검색 태그