전체 글

안녕하세요
· BACKEND
이펙티브 자바 는 자바 프로그래밍 언어를 사용하는 소프트웨어 개발자들을 위한 지침서로, 자바 언어의 창시자인 제임스 고슬링(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..
Spring MVC(Model-View-Controller)는 Spring 프레임워크의 웹 애플리케이션 개발을 위한 디자인 패턴 및 아키텍처입니다. Spring MVC는 사용자 인터페이스와 비즈니스 로직을 분리하여 유지보수성과 확장성을 향상시키는 데 중점을 둡니다. Spring MVC의 구조는 주로 다음과 같은 세 가지 주요 구성 요소로 나눌 수 있습니다: Model (모델): 모델은 애플리케이션의 데이터와 비즈니스 로직을 나타냅니다. 비즈니스 로직을 처리하고 데이터를 저장, 검색, 조작하는데 사용됩니다. 모델은 POJO(Plain Old Java Object)로 표현되며, Spring에서는 @Entity 어노테이션이 붙은 JavaBeans, JPA 엔터티 등을 모델로 사용합니다. View (뷰): 뷰는..
Spring 기반의 웹 애플리케이션에서 사용되는 여러 설정 파일들은 각각의 역할과 책임이 있습니다. root-context.xml ( DB 연결 , 서비스 빈 설정 , 공유 해야 할 빈 설정 ) 루트 컨텍스트 설정 파일로, 애플리케이션 전반적인 설정을 담당합니다. 데이터베이스 연결, 서비스 빈 등과 같은 애플리케이션 전역에서 사용되는 빈들의 설정을 담고 있습니다. 여러 서블릿이나 컨텍스트에서 공유해야 하는 빈들을 설정합니다. web.xml ( 서블릿 컨테이너 설정 - 서블릿 , 필터 , 리스너) 웹 애플리케이션의 배치 서술자로, 서블릿, 필터, 리스너 등을 정의합니다. 서블릿 컨테이너에게 웹 애플리케이션의 구조와 동작 방식에 대한 정보를 전달합니다. Spring에서는 보통 DispatcherServlet..
SqlSessionFactory와 SqlSession은 MyBatis 프레임워크에서 데이터베이스와의 상호 작용을 관리하는 데 사용되는 중요한 인터페이스입니다. 이 두 인터페이스 간의 관계를 이해하려면 MyBatis의 데이터베이스 세션 라이프사이클을 살펴보아야 합니다. SqlSessionFactory는 MyBatis의 핵심 인터페이스 중 하나로, 데이터베이스 세션을 생성하는 역할을 합니다. 데이터베이스 연결 설정, 매핑 정보, 트랜잭션 설정 등을 포함한 MyBatis 설정을 로드하고 이를 기반으로 SqlSession 객체를 생성합니다. SqlSessionFactory 예시 코드 javaCopy code SqlSessionFactory sqlSessionFactory = new SqlSessionFactor..
꾸준히개발하자
꾸준히