스프링 부트의 스프링 MVC 설정 handlerMappings SimpleUrlHandlerMapping 파비콘 요청을 처리해주는 mapping RequestMappingHandlerMapping 애노테이션 기반의 MVC를 mapping order : 0 BeanNameUrlHandlerMapping SimpleUrlHandlerMapping resourceHandlerMapping src/main/resources/static 디렉토리 안에 들어있는 static한 리소스들에 캐싱 관련된 정보들이 추가된다. Ex. 리소스 변경이 이루어지지 않을 시 not modified라는 응답(304)을 보내, 브라우저가 캐싱하고 있는 리소스를 그대로 사용할 수 있도록 처리해준다. 스프링 부트가 설정해놓은 static..
WebMvcConfigurer 인터페이스 //0. 애플리케이션 컨텍스트 설정 public class WebApplication implements WebApplicationInitializer { @Override public void onStartup(ServletContext servletContext) throws ServletException { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.setServletContext(servletContext); context.register(WebConfig.class); context.refresh(); Dispatche..
@EnableWebMvc 애노테이션 기반 스프링 MVC를 사용할 때 편리한 웹 MVC 기본 설정 @Configuration @ComponentScan @EnableWebMvc public class WebConfig { } DispatcherServlet의 기본적인 전략과 @EnableWebMvc 사용 시 handlerMapping, handlerAdapter, viewResolver를 확인 DispatcherServlet 기본적인 전략 handlerMappings BeanNameUrlHandlerMapping(url 기반으로 매핑 처리) order = 매우 낮은 우선 순위 RequestMappingHandlerMapping interceptors : size = 0; order = 매우 낮은 우선 순위..
스프링 MVC구성 요소 직접 빈으로 등록하기 스프링 기본 전략 스프링은 기본적인 설정이 없어도 스프링이 제공해주는 DispatcherServlet.propeties를 통해 기본 전략을 사용하고 있다. org.springframework.web.servlet.LocaleResolver=org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver org.springframework.web.servlet.ThemeResolver=org.springframework.web.servlet.theme.FixedThemeResolver org.springframework.web.servlet.HandlerMapping=org.springframework.web.s..
비밀번호 초기화 비밀번호 변경 //MySQL 8.0.15 이상 update mysql.user set authentication_string='변경 비밀번호' where user='root'; 권한 적용 flush privileges; 다시 접속하면 아래와 같은 오류 메시지가 나타나는 경우가 있다. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 위 오류 메시지는 비밀번호가 틀렸다고 예상할 수 있는데.. 방금 변경했는데 왜 틀렸다고 나올까? 계정 테이블을 확인해보자. select authentication_string from user; 확인 결과, 비밀번호가 변경되었지만, 해쉬화가 되지 않아 암호화되지..
MySQL의 InnoDB에는 Adaptive Hash Index 기능이 있는데, 어떤 상황에서 어떤 효과가 있고 사용 시 주의해야할 점에 대해서 살펴보자 InnoDB의 B-Tree 인덱스 MySQL과 같은 RDBMS에서 대표적으로 가장 많이 사용되는 자료구조는 B-Tree이다. 데이터 사이즈가 아무리 커져도 특정 데이터 접근에 소요되는 비용이 크게 증가되지 않는다는 장점에 의해 B-Tree를 많이 사용하나, 상황에 따라서 최대의 효율을 발휘하지 못할 경우도 있다. 이런 경우에 대한 해결책으로 InnoDB에서는 Adaptive Hash Index 기능을 사용하는 것이다. InnoDB에서 B-Tree의 동작 방식 InnoDB에서 데이터들은 Primary Key 순으로 정렬되어 관리되고, Secondrary ..
트랜잭션 트랜잭션은 한 번 질의가 실행되면 질의가 모두 수행되가 모두 수행되지 않는 작업수행의 논리적인 단위이다. 즉, query를 하나 실행했을 때, 중간에 실행이 중단되었을 경우에는 처음부터 다시 실행할 수 있도록 Rollback 이 수행되고, 오류 없이 모든 실행이 완료되면 commit 을 실행하는 단위이다. 트랜잭션은 DBMS의 성능 측정에 직접적인 영향을 가지고 있다. DBMS의 성능은 초당 트랜잭션의 실행 수(Transaction per second)로 측정되기 때문이다. 트랜잭션을 왜 사용하는가? 가장 큰 이유는, 병렬 처리로 인해 DB 서버에 여러 개의 클라이언트가 동시에 액세스하거나 응용프로그램이 갱신을 처리하는 과정에서 중단될 수 있는 경우 데이터의 부정합성을 방지 하고자 할 때 사용한..
Error와 Exception https://it-mesung.tistory.com/69?category=830540 [Java 기초] Exception Exception Exception, Exception은 원하지 않거나 예기치 않은 이벤트로, 프로그램 런타임에 발생하여 프로그램 명령의 정상적인 흐름을 방해한다. Exception and Error Error : 오류 심각한 문제를 나타내므로,.. it-mesung.tistory.com Error와 Exception의 차이 Error(에러) 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용 프로그램에 이상이 생겼거나 JVM 실행에 문제가 생겼을 경우 발생하는 것을 말한다. Exception(예외) 개발자의 잘못된 코딩 혹은 API 접근 실패로 인해 발..
- Total
- Today
- Yesterday
- 인프런
- mustache
- ifPresent
- try with resources
- 정적팩터리메서드
- java
- 김영한
- JPA
- java8
- 팩토리 메소드 패턴
- 빌더 패턴
- 연관관계
- 이펙티브자바
- 자바8
- @Lazy
- 복사 팩토리
- try catch finally
- effectivejava
- Spring
- 점층적 생성 패턴
- springboot
- 빈 순환 참조
- Effective Java
- package-private
- flatMap
- 이펙티브 자바
- jdk버전
- junit
- 생성자
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |