분류 전체보기
스프링 컨테이너와 스프링 빈
스프링 컨테이너란? 스프링에서 자바 객체들을 관리하는 공간 스프링 빈의 생성부터 소멸까지 관리해주는 곳 스프링 컨테이너의 생성 과정 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); - ApplicationContext를 스프링 컨테이너라고 지칭 - ApplicationContext는 인터페이스이다. 스프링 컨테이너는 XML기반과 어노테이션 기반으로 생성할 수 있다. 어노테이션 기반의 스프링 컨테이너를 사용하려면 ApplicationContext를 구현한 AnnotationConfigApplicationContext를 구현체로 사용한다. 그렇다면 생성자 파라미터로 들어간 Appcon..
스프링 mvc 동작 원리에 대하여
개인 프로젝트를 진행하면서 에러가 터질 때 어떤 부분에서 발생하는지 항상 궁금했다. mvc구조가 어떤 원리로 작동되는지 대략적으로는 알고 있는데(Dispatcher Servlet이 request를 받아서 ~~ ) 깊은 부분까지는 부족한 것 같아 포스팅 하는 겸 정리하고자 한다. 1. Dispatcher Servlet이 url 요청을 받는다. 2. 요청을 받은 Dispatcher Servlet이 핸들러 url 정보를 Handler Mapping에 넘긴다. 3. HandlerMapping은 HandelrAdapter목록에서 Handler(Controller)을 처리할 수 있는 Adapter을 찾는다. 4. 찾은 HandlerAdapter을 실행하고 그에 맞는 Contoller가 실행된다. ..
DB 커넥션을 반드시 close 해야하는 이유
데이터 베이스 관련 공부를 하다보니 궁금한 점들이 몇 가지 생겼다. 관련 내용을 간략하게 포스팅으로 정리하려고 한다. DB Connection을 사용한 이후 Close를 해야하는 이유는? 어플리케이션에서 DB에 접근 할 때 JDBC를 활용하여 connection을 획득하고 데이터 관련 모든 작업들이 끝나면 꼭 connection을 close해주어야 하는데, 그 이유는 무엇일까? DB마다는 제공해주는 커넥션의 갯수는 한정되어있다. 위 사진 처럼 Mysql에서는 최대 151개의 connection을 제공해주는데, 어플리케이션에서 데이터베이스와 관련된 작업 이후 connection을 종료하지 않으면 계속 connection을 쓰는 상황이 유지된다. 이 상황에서 conection을 close하지 않고 어플리케이..
JDBC에 관하여
JPA나 QueryDsl을 공부하고 이를 적용하여 프로젝트를 해나가면서, 문득 데이터 베이스와 관련된 응용 기술들은 알지만 기초적인 지식이 부족하다는 것을 느꼈다. 그래서 기초적인 JDBC에서 Mybastis 그리고 Jpa에 이르기 까지 DB에 접근하는 기술이 발전된 과정을 상세하게 공부하려고 한다. JDBC JDBC란, 자바 언어로 다양한 종류의 관계형 데이터베이스에 접속하고 SQL문을 수행하여 처리하고자 할 때 사용되는 표준 SQL 인터페이스 API이다. JDBC에 관한 정의는 위와 같다. 좀 더 와닿게 설명하자면, 어플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관이 되는데 어플리케이션 서버가 데이터베이스를 그냥 사용할 수 있는것이 아니라 일련의 과정들이 필요로 한다. 1. 커넥션 ..