프로젝트 생성 및 환경 설정MavenGradleBuild?필요한 라이브러리를 다운 받고 classpath에 추가합니다.소스 코드를 컴파일 합니다.테스트를 실행합니다.컴파일된 코드를 packing 합니다 -> jar/war/zip etcpacking된 파일을 주로 ar
Dependency InjectionIoC는 다양한 방법으로 만들 수 있습니다. 전략 패턴, 서비스 로케이터 패턴, 팩토리 패턴 그리고 의존관계 주입패턴들이 있습니다. 객체를 주입받는 패턴을 생성자 주입 패턴 (Dependency Injection) 이라고 부릅니다.
ApplicationContext에서 제공하는 또 다른 중요한 기능중의 하나인 Environment에 대해서 살펴보겠습니다.
💡 로깅 logging시스템을 작동할 때 시스템의 작동 상태의 기록과 보존, 이용자의 습성 조사 및 시스템 동작의 분석 등을 하기 위해 작동중의 각종 정보를 기록해둘 필요가 있다. 이 기록을 만드는 것을 로깅이라 한다. 즉 로그 시스템의 사용에 관계된 일련의 「사건」
주의해야 할 점은 AssertThat은 (실제값, 기대값) 순서이다. 1\. prices의 사이즈가 3인가2\. prices안에 모든 값이 1보다 큰가3\. 순서 상관 없이 3,4,2가 포함되어있는가4\. prices는 2를 가지고 있는가
(1) REQUIRED(2) REQUIRED_NEWT2에서 문제가 생기면 T2내에서 롤백이 일어나고 T1은 영향을 받지 않는다.
https://litslink.com/blog/web-application-architecture
프론트에서 CORS에러 해결 (proxy 설정)package.jsonSame-Origin Policy어떤 출처에서 불러온 리소스가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 정책. 스크립트에만 적용된다. 동일한 출처의 웹페이지일때만 리소스에 접근하는
엔티티 컨텍스트"엔티티를 영구 저장하는 환경"이란 뜻을 가진 논리적인 공간.애플리케이션과 데이터베이스 사이에서 객체를 관리, 조작한다. 엔티티 매니저를 통해 영속성 컨텍스트에 접근할 수 있다.엔티티 매니저를 생성하면 한 개의 영속성 컨텍스트가 생긴다.엔티티생명주기ex)
postControllerpostServiceGlobalExceptionHandler.javathrows notFoundException 중복 코드가 맘에 들지 않음이미 형식이 정해져있기 때문에 메시지만 있기 때문에 따로 HttpStuts를 지정해 줘야 했음.https
스프링 프레임워크에서 어노테이션으로 트랜잭션을 읽기 전용 모드로 설정할 수 있다.@Transactional(readOnly = true)예상치 못한 엔티티의 등록, 변경, 삭제를 예방할 수 있고, 또한 성능을 최적화 할 수 있다. -> DBMS 별 Transaction
JVM(Java Virtual Machine): 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체다.CPU나 운영체제(플랫폼)의 종류와 무관하게 실행이 가능하다.즉, 운영체제 위에서 동작하는 프로세스로 자바 코드를 컴파일해서 얻은 바이트 코드를 해당 운영체제
데이터베이스는 조건문으로 검색할 때, 테이블 전체를 full scan으로 탐색한다. 이러한 탐색 방식은 데이터가 많아지면 많아질 수록 비효율적인 방식이라는 것을 알 수 있을 것이다.순차접근(Full Table Scan)데이터베이스의 한 릴레이션에서 데이터를 찾거나 재배