DEV/Java

· DEV/Java
- DispatcherServlet은 class의 annotation 유무를 보고 구분을 한다 실제 코드는 Github 링크를 참고하면 된다! 아래는 예제 프로젝트의 파일들이다. 딱 보니, 여러 개의 controller와 Spring의 @RequestMapping이 보인다 프로세스 public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); String uri = sc.nextLine(); Set classes = componentScan("ex03"); findUri(classes, uri); } 처음 프로젝트를 실행시키면, URI 입력 받고, 입력 받은 데이터를 잘라서 findURI에 넣는다 ..
· DEV/Java
DispatcherServlet 왜 필요한가 **요약** - DispatcherServlet은 모든 웹 요청에 대해 적절한 Controller로 라우팅을 해준다 예제 코드를 분석하면서 DispatcherServlet이 왜 필요한가 알아봅시다 아래 코드는 RequestMapping 어노테이션을 사용하여 특정 URI를 메서드에 연결하고 있습니다. 이는 스프링 프레임워크의 RequestMapping과 유사한 동작을 수행합니다. 코드 분석 public class App { public static void findUri(UserController uc, String uri) throws Exception { boolean isFind = false; Method[] methods = uc.getClass().g..
· DEV/Java
@RequestMapping 왜 쓰냐? - 특정 URL에 메서드를 맵핑 함으로써 유지보수와 가독성 상승 - @RequestMapping이 없으면, 경로를 직접 분기를 경로가 생길 때마다 해줘야 한다 Spring을 사용하면 자주 쓰는 @RequestMapping 왜 쓰는지 알아봅시다 예제 코드 아래 예시에서는 사용자가 /login을 입력하면 login() 메서드가, /join을 입력하면 join() 메서드가 호출됩니다. import java.util.Scanner; public class App { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String path = sc.nextLine(); // path = ..
· DEV/Java
Spring Security Spring Security는 Spring 기반의 애플리케이션의 보안(인증 및 권한, 인가 등)을 담당하는 프레임워크입니다. 웹 보안 및 메소드 보안, CSRF(Cross Site Request Forgery) 방지, 세션 관리 등 다양한 보안 기능을 제공합니다. 의존성 설치 방법은 build.gradle에 아래 한 줄을 추가하면 된다 implementation 'org.springframework.boot:spring-boot-starter-security' // 스프링 시큐리티 제공 Spring Security의 주요 특징 Comprehensive and extensible support: 인증, 인가, 세션 관리, 비밀번호 인코딩 등 다양한 보안 기능을 지원하며, 이를 ..
· DEV/Java
Easy Random Spring에서 제공하는 Easy Random라는 라이브러리를 어떻게 사용하는지 알아보도록 하겠습니다. 이 라이브러리는 테스트 데이터를 생성하거나 랜덤한 값을 생성할 때 사용합니다 Easy Random이란? Easy Random은 Java 객체를 랜덤하게 생성하는 라이브러리입니다. 단순히 랜덤한 수나 문자열을 생성하는 것이 아니라, 우리가 정의한 클래스 타입의 객체를 랜덤하게 생성하는 것이 특징입니다. 따라서 테스트 데이터를 생성하거나 모의 데이터를 만들 때 특히 유용하게 사용됩니다. 시드(Seed)에 대하여 Easy Random은 시드값을 사용하여 랜덤 값을 생성합니다. 시드값은 랜덤 값 생성의 기준점이라고 할 수 있습니다. 동일한 시드값을 가지고 랜덤 값을 생성하면 항상 동일한 ..
· DEV/Java
JDBC - Java 어플리케이션과 DB 연결 및 작업 수행 JDBC(Java Database Connectivity)는 자바의 표준 API로, 자바 애플리케이션과 데이터베이스 간의 연결과 데이터베이스 작업을 수행하는 데 사용됩니다. Intro. Java 기본 JDBC와 Spring JDBC 순수 JDBC 외에 Spring에서 JDBC를 제공합니다. 앞으로 예시는 Spring의 JDBC를 예로 들겠습니다 Spring JDBC를 사용하면, 코드의 양이 줄어들고, 데이터베이스 리소스 관리와 예외 처리가 자동화되며, 반복적인 작업이 줄어듭니다. 즉, 개발자는 SQL 쿼리와 비즈니스 로직에 더 집중할 수 있게 됩니다. 예를 들면 ResultSet은 데이터베이스로부터 반환된 결과 집합을 나타내는 객체입니다. 순수..
· DEV/Java
데이터 변환 with Spring Custom Property Editor: Spring이 사용 가능한 경우 유형 변환에 사용할 첫 번째 메커니즘입니다. 변환 서비스(Converter 및 Formatter 포함): 적합한 사용자 정의 PropertyEditor를 사용할 수 없는 경우 Spring은 해당 유형에 등록된 Converter 또는 Formatter를 사용합니다. 기본 속성 편집기: 다른 변환을 수행할 수 없는 경우 Spring은 기본 PropertyEditor로 폴백합니다. PropertyEditor PropertyEditor는 양방향 유형 변환을 위해 Spring에서 사용되는 Java Beans의 기능입니다. 속성 편집기에는 두 가지 유형이 있습니다. Default Property Editor..
· DEV/Java
데이터 검증 with Spring Spring MVC에서 WebDataBinder를 통해서 데이터를 검증 할 수 있습니다 WebDataBinder는 요청 매개변수를 JavaBean 객체에 바인딩하는 Spring MVC 기능입니다. 유형 변환 및 데이터 유효성 검사를 처리합니다. @RequestMapping("/getYoilMVC5") public String main(@ModelAttribute MyDate date, BindingResult result){} 이 코드에서 WebDataBinder는 요청 매개변수를 MyDate 개체에 바인딩합니다. BindingResult는 이 프로세스의 결과 및 관련 오류를 보유합니다. @InitBinder @InitBinder 주석은 WebDataBinder를 초기화..
· DEV/Java
Error 페이지 생성 with Spring 예외 종류별로 뷰 지정 Spring MVC에서는 servlet-context.xml 설정 파일에 이러한 매핑을 지정함으로써 특정 상태 코드를 사용자 정의 뷰에 매핑할 수 있습니다. SimpleMappingExceptionResolver 빈 설정 : 예외 종류 별로 뷰 지정 servlet-context.xml 에 SimpleMappingExceptionResolver 빈을 선언해야 합니다. 이 빈은 예외를 뷰 이름에 매핑하는 데 사용될 수 있습니다: error400 이 설정에서 com.fastcampus.ch2.MyException은 error400 뷰에 매핑됩니다. 이는 MyException이 발생하면 error400.jsp 뷰가 사용자에게 반환된다는 것을 의..
· DEV/Java
Spring 예외 처리 Spring 프레임워크에서는 @ExceptionHandler, @ControllerAdvice, @ResponseStatus 등의 애노테이션을 사용하여 예외 처리를 합니다. @ExceptionHandler @ExceptionHandler는 @Controller 클래스 내에서 발생하는 예외를 처리하는 데 사용되는 애노테이션입니다. 이는 예외를 처리하는 메서드 내부에서 사용되어야 합니다. @Controller public class ExceptionController { @ExceptionHandler({NullPointerException.class, FileNotFoundException.class}) public String handleException(Exception ex, ..
berom
'DEV/Java' 카테고리의 글 목록 (3 Page)