[톰캣] 도대체 톰캣이 무엇이고 스프링과는 어떤 관계지 ?
·
Framework/Spring
톰캣의 구조: Engine, Host, Context의 관계Engine과 Host는 Context 안에 있는 것이 아니라, 그 반대입니다.톰캣의 구조는 다음과 같은 계층(Hierarchy)을 가집니다.Server > Service > (Connector + Engine) > Host > ContextServer: 톰캣 인스턴스 전체를 의미하는 최상위 컴포넌트입니다.Service: 하나의 Engine과 여러 개의 Connector를 묶는 단위입니다.Engine: 하나의 Service 내에서 요청을 처리하는 핵심 엔진입니다. 여러 Host를 가질 수 있습니다.Host: 가상 호스트(하나의 도메인)를 의미합니다. www.a.com, www.b.com 처럼 여러 웹사이트를 하나의 톰캣에서 운영할 때 사용됩니다...
[Spring Boot] 스프링 부트를 실행하면 ?
·
Framework/Spring
스프링 부트를 실행하면 어떤 일이 발생할까 ?지금까지 {프로젝트명}Application 클래스의 static 메서드인 main을 실행하기만 했지 도대체 어떻게 동작하는지는 제대로 공부해 본 적이 없는 것 같아서 지금이야말로 공부해야겠다고 마음 먹었습니다.최대한 깊게 파 보고자 하니 혹시라도 누군가 이 글을 읽으시게 된다면 글이 항상 수정될 수 있다는 점 양해 부탁드립니다 ! 예시로 제가 만든 간단한 개인 프로젝트 코드를 가져 오겠습니다.package com.example.simplescheduleappback;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootAppl..
[Log] log4j, logback, log4j2 및 slf4j 등 .. 에러 핸들링
·
Framework/Spring
로그를 남기는 방법에는 여러 가지가 있습니다.여러분들은 로그를 남기는 이유가 무엇인가요 ?아마 대부분 로그를 통해 에러 핸들링이나 상황 추적을 하기 위함일 것입니다.저 또한 프로젝트를 진행하면서 상당한 에러를 마주하였고, 에러가 아니더라도 부작용이죠, 사이드 이펙트가 발생해서 고생 좀 했습니다.이때 필요한 여러 비용을 줄이기 위해서라도 로그를 잘 남기는 것이 중요합니다.제가 설정한 logback과 그에 관련한 로깅 프레임워크에 대해서 공부한 글을 작성해 보려고 합니다.글은 언제나 수정될 수 있으며 추가 또한 될 수 있다는 점 알아 주시기 바랍니다.그럼 시작하겠습니다. 먼저 제가 설정한 logback-spring.xml 부터 보여 드리겠습니다. ..
[DBCP] DataBase Connection Pool 개념 정리, DBCP2 최적화
·
Framework/Spring
교내 프로그램으로 SW아카데미 참여하고 최종 프로젝트랑 최종 발표회, 마지막으로 수료식까지 끝났지만 .. 프로젝트 하면서 아쉬운 점이 많았어서 이것저것 해 보려고 합니다.7월 1일부터 참여한 CNU-NHN 아카데미가 벌써 끝났습니다. 그동안 여기저기 지원도 해 보고 했지만 전부 떨어져서 마음이 매우 아프지만 아쉬운 점을 개선하고 싶은 거랑은 별개니까 ..아무튼 각설하고 저는 최종 프로젝트에서 다른 훌륭한 백엔드 팀원들뿐만 아니라 다른 팀의 백엔드 팀원들에게서도 많이 배우면서, 짧은 기간 동안 많은 성장이 있었습니다.그리고 좋은 사람들은 많이 만난 것 같아 기분이 매우 좋습니다. 이렇게 다 같이 열심히 하면서 성장할 수 있는 기회가 앞으로도 많으면 좋겠습니다 !그리고 저는 팀에서 DevOps 역할을 맡아..
[Java/Spring] 정적 팩토리 메서드 명명 규칙
·
Framework/Spring
from매개변수를 하나 받아서 해당 타입의 인스턴스를 반환하는 형 변환 메서드예시 코드 입력란  of여러 매개변수를 받아 적합한 타입의 인스턴스를 반환하는 집계 메서드예시 코드 입력란  valueOffrom과 of의 더 자세한 버전예시 코드 입력란
[Spring Data JPA] No property {} found for type {} 원인과 해결 방법
·
Framework/Spring
자바 스프링으로 코드를 작성하다 보면 {엔티티 클래스 이름} + Repository로 JPA를 상속받아 사용하게 된다. 필자는 다음과 같은 에러를 마주쳤고No property 'hospitalId' found for type 'HospitalReviewPost' 해결 방법은 다음과 같았다. 실제 엔티티 클래스에 있는 필드를 사용해서(Long id)Repository에서 JpaRepository의 메서드를 오버라이딩하여(findById)에러를 해결하였다. 파라미터로는 어떤 변수명이 왔다 갔다 하더라도 타입만 잘 맞으면 문제되지 않을 수 있지만 엔티티 클래스의 필드와 Spring data JPA를 사용한 메서드에서는 찾으려는 대상의 변수명과 메서드 이름이 서로 같아야 하는 규칙이 있다.  위와 같은 No p..
[Spring] Java와 MongoDB 연동하기
·
Framework/Spring
Spring 프레임워크에는 여러 가지 서비스를 제공하는 기능이 있는데 이중에서 MongoRepository에 대해 알아 보려고 한다. 보통 쓰는 JpaRepository와 쓰는 방법은 매우 유사한 듯하다.repository interface를 생성하고 MongoRepository를 상속받아 필요한 엔티티와 타입을 넘긴 뒤 필요한 부분 구현하거나 아니면 그냥 쓰면 된다 !!
[Spring] 500 Internal Server Error
·
Framework/Spring
MongoDB를 Spring에 적용해서 쓰다 보면 여러 에러가 뜰 수 있습니다. 다음은 매핑 과정 중에 생긴 에러입니다."Failed to instantiate java.util.List using constructor NO_CONSTRUCTOR with arguments"{ "timestamp": "2024-06-21T15:25:54.435+00:00", "status": 500, "error": "Internal Server Error", "trace": "org.springframework.data.mapping.model.MappingInstantiationException: Failed to instantiate java.util.List using constructor N..