본문 바로가기

FrameWork16

Spring Interceptor 어제 수업중에 Spring의 interceptor(인터셉터)에 대해서 배웠다. 배우다보니 기능은 Java를 공부할 때 배웠던 Filter와 비슷한 기능을 가진것 같았다. 여러 작업을 처리하면서 그 전에 처리를 해주는 작업이라는 공통점은 알겠지만 필터와 인터셉터의 차이와 장단점에 대해서 공부해보았다. 우선 필터Filter Filter는 Spring을 배우기전에 JSP와 Servlet을 공부했을 당시 배웠기 때문에 스프링에서 지원하는 기능이 아니라는 점만 인지 하고있었다. 찾아보니 J2EE표준 스펙에 있는 기능으로써 가장 진입지점으로 설정되어 있는 Controller의 Dispatcher Servlet에 요청의 전/후로 부가적인 작업을 처리할 기능을 제공하고 조건에 맞게 작동한다. 주로 사용할 때 @WebF.. 2023. 6. 23.
Spring DI(Dependency Injection) 의존성 주입(DI Dependency Injection)은 개체가 생성자 인수, 팩터리 메소드에 대한 인수 또는 개체 인스턴스가 생성된 후 개체 인스턴스에 설정된 속성을 통해서만 의존성(함께 작동하는 다른개체)을 정의하는 프로세스이다. 더보기 의존성이란? 한 객체가 다른 객체를 사용하는 상황을 말하며, 일반적으로 한 객체가 다른 객체를 생성하거나 직접 의존하는 경우를 말한다. 예를 들어, 클래스 A가 클래스 B를 사용한다면 A는 B에 대한 의존성을 갖게 된다. DI는 의존성을 외부에서 제공받을 것을 말하며, 객체가 필요로 하는 다른 객체를 직접 생성하지 않고, 외부에서 생성된 객체를 주입받아 사용하는 방식이다. 이를 통해 객체 간의 결합도를 낮추고 유연하게 하며 효율적인 코드를 작성할 수 있다. 코드가 .. 2023. 6. 19.
MyBatis MyBatis는 자바 기반의 오픈 소스 퍼시스턴스 프레임워크이다. 데이터베이스와의 상호작용을 단순화하여 개발자가 SQL쿼리를 사용하여 데이터베이스 작업을 수행할 수 있도록 도와준다. MyBatis는 데이터베이스와의 상호작용을 처리하는 데 필요한 코드작성에 중점을 두고 있다, MyBatis는 개발자에게 SQL 매핑을 제공하여 SQL쿼리와 데이터베이스 테이블간의 매핑을 정의해준다. 이덕에 개발자는 복잡한 JDBC코드를 작성하지 않고 데이터베이스 작업을 수행할 수 있다. XML또는 어노테이션 기반의 매핑파일을 사용하여 정의한다. 이를 통해 개발자는 SQL쿼리와 자바 객체간의 매핑을 명시적으로 지정할수 있으며 SqlSession이라는 MyBatis의 핵심인터페이스로 데이터베이스와의 상호작용을 수행한다. SqlS.. 2023. 6. 19.
@RequestMapping 이것도 오늘 수업중 중요하다고 느낀 어노테이션중하나..이것도 찾아보았다.. @RequestMapping은 스프링 프레임워크에서 사용되는 어노테이션이다. 그 기능은 클라이언의 요청을 특정 메소드 또는 컨트롤러 클래스와 매핑(mapping)시키기 위해 사용된다. 쉽게 말하자면 어떤 URL요청이 들어왔을 때 어떤 메소드가 실행되어야 하는지 지정해주는 역할을 한다. @RequestMapping은 주로 Spring MVC에서 사용되며, 컨트롤러 클래스 또는 메소드에 적용된다. 컨트롤러 클래스 수준에서 @RequestMapping을 사용하면 해당 컨트롤러의 모든 요청 처리 메소드에 대한 기본 URL을 설정할 수 있다. 메소드 수준에서 @RequestMapping을 사용하면 해당 메소드가 처리할 URL을 지정할 수 .. 2023. 6. 16.
@ResponseBody Spring을 강사님께 Spring을 배우는 중에 @ResponseBody의 기능에 대해 배우게 되었다. JSON의 문자열을 여러가지 방법을 통해 가져올 수 있는 기능중 하나라고 설명해 주셨는데 더 자세히 알고싶어서 구글링해 검색해 보았다. @ResponseBody는 스프링 프레임워크에서 사용되는 어노테이션중 하나로, 웹 응답의 데이터를 HTTP응답 본문에 직접 쓰기 위해 사용된다. 즉, 해당 어노테이션을 사용하면 메소드의 반환 값이 웹 응답으로 전송되어 클라이언트(사용자)에게 반환이 된다. @ResponseBody어노테이션은 주로 스프림 MVC에서 사용되며, 컨트롤러의 메소드에 적용된다. 적용된 메소드는 일반적으로 JSON, XML, 텍스트 또는 기타 형식의 데이터를 반환한다. 클라이언트가 HTTP 요.. 2023. 6. 16.
DispatcherServlet 스프링 프레임워크에서 DispatcherServlet은 웹 애플리케이션의 핵심 컴포넌트 중 하나이다. 클라이언트로부터 요청을 받고, 해당 요청을 처리하기 위해 적절한 핸들러로 라우팅하는 역할을 담당한다. DispatcherServlet의 동작을 이해하기 위해 몇가지 개념을 알아보자면 DispatcherServlet는 웹 애플리케이션 컨텍스트(Web Application Context)에 의존한다. 웹 애플리케이션 컨텍스트는 스프링의 인터페이스를 구현한 객체로, 스프링 컨테이너에 대한 참조를 갖고 있다. 스프링 빈, 설정 정보, 컴포넌트 스캔 등과 같은 웹 애플리케이션에 필요한 리소스를 로드하고 관리한다. HandlerMapping을 사용하여 클라이언트 요청을 처리할 핸들러를 찾는다. HandlerMapp.. 2023. 6. 16.
Spring Framework 나는 비전공자 이기 때문에 내 블로그에는 기본적인 개념을 기반으로 개발에 관련된 지식이나 생각을 조금씩 적어나아가고 있다. 어느덧 학원을 다닌지 2개월이 지나 드디어 너무나 배우고싶었던 Spring Framwork를 시작하게 되었다. 말로만 들었지 개인적으로 Java의 꽃이라고 생각하는 Spring을 드디어 겪어 볼수 있어서 설렘 반 긴장 반이다. 위에 기본적인 개념을 기반으로 한다는 말은 내 공부 스타일이긴 하지만 무작정 만들어보고 하는 것도 중요하지만 무언가 이게 왜 존재하는지 어디에 쓰이는지 어떻게 만들어 졌는지도 굉장히 중요하다 생각하기 때문에 이번 글도 Spring이 어디서 어떻게 왜 생겨났고 어디에 쓰이는지 먼저 알아보겠다. Java/Kotilin 기반의 웹 프레임워크이며 2002년에 로드 존.. 2023. 6. 16.