이펙티브 자바 는 자바 프로그래밍 언어를 사용하는 소프트웨어 개발자들을 위한 지침서로, 자바 언어의 창시자인 제임스 고슬링(James Gosling)이 추천하는 책이기도 합니다. 저자 조슈아 블로크는 자바 플랫폼의 핵심 개발자 중 한 명으로, 이 책에서 자바 프로그래밍의 모범 사례와 원칙을 제시합니다. 이 책의 주요 내용은 다음과 같습니다: 자바 프로그래밍 원칙: 객체 생성 및 파괴, 메소드 설계, 일반적인 프로그래밍 원칙, 객체의 복사, 예외 처리, 동시성 등 다양한 주제에 대한 자바의 베스트 프랙티스를 소개합니다. 효율적인 코드 작성 방법: 성능 최적화, 코드 관리성 향상, 유지보수 용이성 등을 위한 실용적인 조언을 제공합니다. 디자인 패턴 및 재사용성: 코드 재사용, 가독성, 확장 가능성을 향상시키..
분류 전체보기
지리적 위치 데이터를 처리하는 RESTful API 1. 의존성 설정 (Maven pom.xml) 먼저, 스프링 부트 및 관련 의존성을 pom.xml에 추가합니다. org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa org.postgresql postgresql runtime 2. 모델 클래스 (Location.java) import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;..
Spring MVC를 사용하며, 기본적인 컨트롤러, 서비스, 모델 및 JSP 뷰 파일로 구성됩니다. 1. 회원 모델 (User) 먼저 사용자 정보를 저장할 모델 클래스를 생성합니다. public class User { private String username; private String password; // 기본 생성자, getter, setter 생략 } 2. 회원 서비스 (UserService) 간단한 회원 서비스 구현입니다. 실제 애플리케이션에서는 데이터베이스 연동이 필요합니다. public class UserService { public User login(String username, String password) { // 로그인 로직 구현, 예시를 위해 간단하게 처리 if ("admin"...
Spring Handler Interceptor : DispatcherServlet이 해당 컨트롤러를 호출하기 전,후에 요청과 응답을 제어하는 역할을 한다. 컨트롤러 실행전 preHandle(request,response,handler) 컨트롤러 실행후 postHandle(request,response,handler) 응답완료 afterCompletion(request,response,handler) Spring에서 제공하는 HandlerInterceptor 를 implements하여 위와 같은 메서드를 오버라이딩해서 사용한다 DispatcherServlet -- HandlerInterceptor -- Handler(Controller) 컨트롤러 영역의 공통관심사항을 일괄처리 로그인 인증여부를..
Thymeleaf는 Spring 프레임워크와 함께 많이 사용되는 템플릿 엔진입니다. HTML 파일에서 서버 측 데이터를 표시하고 조작하는 데 사용되는 다양한 문법과 표현식이 있습니다. 주요 Thymeleaf 문법을 살펴보겠습니다: 1. 표준 표현식: 변수 표현식: ${...} 예: Name 선택 변수 표현식: *{...} 예: Name 메시지 표현식: #{...} 예: Default message 링크 URL 표현식: @{...} 예: Login 조각 표현식: ~{...} 예: 2. 리터럴(고정된 값): 텍스트 리터럴: 'one text', 'Another one!', … 숫자 리터럴: 0, 34, 3.0, 12.3, … 부울 리터럴: true, false 널 리터럴: null 리터럴 토큰: one, s..
// 뷰템플릿 호출 3가지 @Controller public class ResponseViewController { // ModelAndView 로 반환 @RequestMapping("/response-view-v1") public ModelAndView resModelAndViewV1(){ ModelAndView mav = new ModelAndView("response/hello") .addObject("data","hello!"); return mav; } // 리턴 타입 String , @ResponseBody , @RestControler로 하게되면 그냥 문자로 리턴됨 @RequestMapping("/response-view-v2") public String resModelAndViewV2(Mo..