개발중/Spring (88) 썸네일형 리스트형 http 정보 console 에서 요청 확인하는 설정 logging.level.org.apache.coyote.http11=debug application.properties 에 아래 설정 추가시 logging.level.org.apache.coyote.http11=debug 요청 했을 경우에 아래와 같은 정보들이 나온다. Host: localhost:8080 Connection: keep-alive sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko.. @ServletComponentScan 서블릿을 자동 등록해주는 어노테이션 import org.springframework.boot.web.servlet.ServletComponentScan; @ServletComponentScan 스프링 Junit 이란 ? 사용해보고 싶다 👩🦰 Junit 이란 ? java 에서 독립된 단위 테스트를 지원해주는 프레임워크이다. @Test 메서드가 호출이 될 때마다 새로운 인스턴스를 생성하여 독립적인 테스트를 이루어지게 한다. 메이븐은 아래와 같이 추가해주었다. junit junit 4.12 test Junit test 코드는 아래와 같이 작성하였다. import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import com.rsn.POMS.api.poms.user.service.PomsUserService; @Spring.. @Transactional 어노테이션 적용 시 롤백이 안되는 경우 🖤 글이 도움이 되었다면 유튜브 클릭 해주세요 🖤 https://youtu.be/bz8h5adAHNc - DY 선배 Junit 테스트 중 Transaction 관련하여 정보 공유 드립니당 @Transactional 어노테이션 적용 시 롤백이 안되는 문제가 있었는데 원인 파악해 보니 데이터베이스 저장소 엔진 문제였습니다 MySQL의 MyISAM 엔진의 경우 트랜잭션 지원을 하지 않는다고 합니다 만약 트랜잭션을 사용하여 개발할 경우 참고하면 좋을 것 같습니다! 스토리지 엔진 - 데이터를 디스크에 저장 - 데이터를 디스크에서 읽음 데이터베이스 관리 시스템(DBMS)이 데이터베이스에 대해 데이터를 SELECT INSERT UPDATE DELETE 하는데 사용하는 기본 소프트웨어 컴포넌트라고도 한다. MySQL은.. 스프링 부트 port 가져오기 @Autowired Environment environment; String port = environment.getProperty("local.server.port"); @Value("${local.server.port}") int port; @Inject private org.springframework.boot.autoconfigure.web.ServerProperties serverProperties; config.setHost("localhost:" + serverProperties.getPort()); [ 스프링 ] DispatcherServlet ? DispatcherServlet 스프링 MVC 를 사용하면 서블릿을 생성할 필요가 없다. 클래스를 생성해 @Controller 어노테이션을 추가하고 @RequestMapping 어노테이션으로 특정 URL 패턴에 매칭할 수 있다. 규약에 따르면 클래스 이름은 보통 Controller 로 끝난다. 스프링은 요청을 받기 위해 핵심 서블릿인 DispatcherServlet 를 활용한다. 이 DispatcherServlet 은 모든 요청을 처리할 수 있게 설정되야 하며 @RequestMapping 어노테이션에 지정된 URL 패턴에 따라 스프링 요청을 처리할 패턴에 맞는 컨트롤러를 찾는다. HTTP 요청을 만들 컨트롤러를 추가하고자 한다면 pom.xml 에 스프링 부트 의존성을 추가해야 한다. org.springf.. [ 스프링 ] Java EE Servlet ? 자바 EE 서블릿 자바 EE 서블릿 ( JAVA EE SERVLET ) 또는 짧게 서블릿은 일반적으로 톰캣과 같은 애플리케이션 서버인 서블릿 컨테이너 내에서 동작한다. HTTP 요청이 서버에 도착하면 일반적으로 인증, 로깅, 감사와 같은 필터링 작업을 수행하는 필터 리스트를 통과한다. 요청이 모든 필터를 통과하면 애플리케이션 서버는 특정 패턴과 일치하는 URL 을 포함하는 요청을 처리할 수 있게 등록된 서블릿으로 요청을 넘겨준다. 서블릿이 요청에 대한 처리를 마치면 HTTP 응답은 해당 HTTP 요청을 처리한 같은 필터 세트를 통과한 후 클라이언트로 다시 전송된다. 이러한 필터에서 특정 HTTP 헤더를 응답에 추가하는 등의 추가 필터링 작업을 수행할 수 있다. 자바 EE 에서 모든 HTTP 요청에 대해 .. [ 스프링 ] 의존성 주입 방법 ? 스프링 의존성 주입 하는 방법 🔵 어노테이션 의존성을 연결하는 데는 스프링에서 제공하는 @Autowired, @Required 두 어노테이션을 사용할 수 있다. @Autowired >> 생성자와, 메소드, 필드에 적용할 수 있다. @Required >> 새터 메소드에 적용할 수 있다. 🔵 의존성 주입하는 방법 세가지 생성자 기반의 주입 세터 기반 / 메소드 기반의 주입 필드 기반의 주입 🔵 생성자 기반의 주입 이 방법은 이름에서 알 수 있듯이 이 유형의 주입은 생성자를 통해 수행된다. @Autowired public BinsooService( BinsooRepository binsooRepository ){ this.binsooRepository = binsooRepository } 🔵 세터 기반 / 메.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음