분류 전체보기86 [MAVEN] SpringMVC2 버전2 연습 (Controller) 🔍 목표 중간 프로젝트 때 진행했던 카메라 커뮤니티 사이트를 Spring으로 이관하는 것 실무에서 어떤 버전을 사용할지 알 수 없기 때문에 여러 버전을 연습 앞에서 썼던 SpringMVC2에 대한 설명이 생각보다 이해하기 힘든 것 같아 Refresh!! 🔍 DispatcherServlet 버전 1에서는 개발자가 직접 작성한 DispatcherServlet을 사용했다. 하지만 버전 2에서는 Spring에서 제공하는 DispatcherServlet을 사용한다. 의존 주입을 하기 위해서는 .xml 즉, 설정파일이 필요하다. 💡 org.springframework.web.servlet.DispatcherServlet web.xml dispatcher org.springframework.web.servlet.Di.. JAVA/Practice 2024. 3. 7. [MAVEN] SpringMVC2 버전1 연습 (Controller) 🔍 목적 중간 프로젝트 때 진행했던 카메라 커뮤니티 사이트를 Spring으로 이관하는 것 실무에서 어떤 버전을 사용할지 알 수 없기 때문에 여러 버전을 연습 앞에서 썼던 SpringMVC2에 대한 설명이 생각보다 이해하기 힘든 것 같아 Refresh!! 🔍 DispatcherServlet (FrontController) DispatcherServlet은 MVC2 패턴에서 유일하게 사용하는 서블릿이다. 그냥 이게 없으면 뭘 할 수가 없음 Spring에서는 FrontController 대신 DispatcherServlet을 사용한다. 버전 1에서는 개발자가 만든 DispatcherServlet을 사용한다. 💡 import com.spring.controller.common.DispatcherServlet D.. JAVA/Practice 2024. 3. 6. [MAVEN] SpringMVC 버전 2 🔍 DispatcherServlet Spring 프레임워크에서 제공하는 DispatcherServlet을 사용하며, DI를 위한 설정 파일인 dispatcherServlet-servlet.xml이 필요하다. 🔍 Controller Spring 프레임워크에서 제공하는 Controller를 상속하여 사용하며, 기존에는 request 객체를 통해 데이터를 전달했지만 이는 무겁다. package com.spring.controller.board; import java.util.ArrayList; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import com.spr.. JAVA/Theory 2024. 3. 5. [MAVEN] SpringMVC 버전 1 🔍 DispatcherServlet 개발자가 직접 만든 DispatcherServlet을 사용. 이는 프론트 컨트롤러 역할을 수행하며 멤버변수 초기화, 생성자, Setter, 어노테이션, 의존 주입, init() 메서드 등을 포함한다. package com.spring.controller.common; import java.io.IOException; import org.springframework.stereotype.Controller; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servl.. JAVA/Theory 2024. 3. 5. [Spring] 의존 주입을 위한 어노테이션 스프링의 의존성 주입(Dependency Injection)을 통해 객체들을 관리하고, 코드의 가독성을 높이며, 런타임 시에 필요한 설정을 자동으로 수행할 수 있도록 도와주는 어노테이션들이 있다. 단순히 어노테이션을 붙이는 것만으로는 해당 클래스가 원하는 동작을 하지 않으며, 스프링 설정 파일에 어노테이션을 인식하도록 지시해야 한다. @Component 이 어노테이션은 스프링 컨테이너에 의해 관리되는 클래스를 표시한다. 주로 일반적인 구성 요소로 사용되며, 특별한 의미를 나타내는 다른 어노테이션을 사용하지 않을 경우에는 이 어노테이션을 사용한다. @Service 비즈니스 로직을 수행하는 서비스 클래스에 주로 사용된다. 주로 트랜잭션 관리, 예외 처리 등과 같은 비즈니스 로직을 처리한다. @Reposito.. JAVA/Theory 2024. 3. 4. [Spring] .xml (설정파일)의 구조 : 이 부분은 com.spring.biz 패키지 및 하위 패키지에서 @Component, @Service, @Repository, @Controller 등과 같은 어노테이션이 지정된 클래스들을 스캔하여 스프링 빈으로 등록한다. : LogAdvice 클래스를 스프링 빈으로 등록하는 부분이니다. 이 빈은 AOP에서 Advice 역할을 수행한다. : AOP 설정을 시작하는 태그이다 : aPointcut이라는 이름의 포인트컷을 정의하는 부분이다. 이 포인트컷은 com.spring.biz 패키지 및 하위 패키지에서 *Impl로 끝나는 모든 클래스의 모든 메서드를 대상으로 한다. : logAdvice 빈을 참조하는 Aspect를 정의하는 부분이다. 이 Aspect는 Advice와 Pointcut을 결합하여 Advi.. JAVA/Practice 2024. 2. 29. [Spring] 의존 주입 (DI) 🔍 의존 주입 (Dependency Injection) 의존 주입은 객체 간의 의존 관계를 외부에서 주입하는 디자인 패턴이다. 이는 객체가 직접 필요한 의존성을 생성하거나 참조하지 않고, 외부에서 필요한 의존성을 주입받아 사용함으로써 결합도를 낮추고 응집도를 높인다. 스프링 프레임워크에서는 주로 생성자 주입, Setter 주입, 필드 주입 등의 방식으로 의존성을 주입한다. 이를 통해 코드의 테스트 용이성과 유지 보수성을 향상시킬 수 있다. 🔍 생성자 주입(Constructor Injection) 생성자 주입은 객체 생성 시 생성자를 통해 의존성을 주입하는 방식이다. 이 방식은 스프링에서 가장 많이 사용되며, 빈을 생성하는 시점에 모든 의존성이 해결된다. public class Car { private E.. JAVA/Theory 2024. 2. 29. [Exception] NosuchBeanDefinitionException 의존 주입을 하지 않아서 발생하는 오류 NullPointerException 급으로 많이 보게 된다는.... JAVA/Exception 2024. 2. 28. [Exception] BeanDefinitionStoreException 설정 파일의 기본 경로가 src/main/resouses이다. 하지만 해당 경로에 .xml 파일이 존재하지 않기 때문에 발생하는 예외 JAVA/Exception 2024. 2. 28. Spring 프레임워크 Spring IoC와 AOP를 지원하는 경량의 프레임워크 낮은 결합도와 높은 응집도를 가지는 코드 : 제어의 역행. 즉, new를 개발자가 하지 않고 컨테이너가 수행하는 기능과 관점지향 프로그래밍. 즉, 공통로직을 별도의 클래스로 모듈화하여 올바른 시기에 호출하는 기능을 수행하는, 경량의 POJO를 다루는 컨테이너를 제공하는 프레임워크 IoC (Inversion of Control) IoC가 뭔가요? : 코드에서 new를 제거하는 것 IoC는 제어의 역행으로 코드에서 new를 제거하고 컨테이너를 통해 제어를 수행한다. ex) 서블릿 컨테이너 (웹 서버, 톰캣) 서블릿 클래스만 생성 가능했음 FrontController 비동기처리 로직 클래스 컨테이너란? 객체를 생성 객체를 관리하는 주체 관리 == 호출 .. JAVA/Theory 2024. 2. 27. [Java] request 객체 🔍 request request 객체는 서블릿 컨테이너에서 클라이언트의 HTTP 요청 정보를 담고 있는 Java 객체이다. 이 객체는 클라이언트가 전송한 데이터, 요청 헤더, 쿠키, URL, 세션 등과 같은 다양한 정보를 제공하여 서버 측에서 요청을 처리할 수 있도록 도와준다. Java Servlet 기술에서 주로 사용된다. request 객체는 HttpServletRequest 인터페이스를 구현한 객체로서, 주요한 메서드와 속성을 제공한다. 🔍 request 객체의 주요 기능 및 사용법 파라미터(Parameter) 읽기 : 클라이언트가 전송한 데이터를 읽기 위해 다양한 메서드를 제공한다. String username = request.getParameter("username"); 헤더(Header) 읽.. JAVA/Theory 2024. 2. 6. [JSP] 커스텀 태그를 이용하여 nav 구성 🔍 목적 카메라에 대한 정보를 공유하고 직접 찍은 사진을 올릴 수 있는 커뮤니티 사이트를 만들던 중 모든 페이지에 nav를 줘야 하는 것을 깨달았다. 계속 복사 붙여넣기를 하는 것보다는 커스텀태그를 만들어서 재사용을 하는 것이 좋다고 생각되어 만들었다. 로그인과 비로그인을 구분하여 nav를 출력한다. 🔍 main.jsp main.jsp 뿐만 아니라 거의 대부분의 페이지에서 똑같이 사용한다. The moment the shutter sound echoes, here is where creation and emotion converge. 🔍 printNav.tag EL로 받은 member의 존재 여부에 따라 nav를 다르게 출력한다. CHAL KAG UsedTrade CameraReview FreeBoard.. Team Project 2024. 1. 29. 이전 1 2 3 4 5 6 ··· 8 다음