진짜 개발자
본문 바로가기

FrameWork (총 119개)

Spring - IoC 컨테이너의 기능 - 7 (Resource 추상화 - ResourceLoader) Spring의 Resource 추상화 Resource 추상화Resource 추상화라고 하니까 뭔가 말이 거창하고 어려워 보이네요. 간단하게 의미를 정의해보겠습니다. Resource 추상화는 java.net.URL을 추상화 한 것 입니다. 이게 무슨 뜻이죠.. 우선 java.net.URL이 무엇인지를 알아보아야 할 것 같습니다. java.net.URL 이란우선 URL은 인터넷상의 주소를 표현하는 방법을 의미합니다. URL 클래스는 웹 상에 존재하는 자원에 접근할 때 사용하는 클래스입니다. URL 클래스를 사용하면 위와 같이 간단히 웹상의 자원을 가져올 수 있습니다. 이유java.net.URL을 왜 추상화 했을까요? 기존 java.net.URL 클래스에는 classpath를 기준으로 resource를 가져오..
SpringBoot - SpringBoot로 웹 개발하기 - 1(프로젝트 생성) SpringBoot로 간단한 웹 개발하기 첫 포스팅입니다 SpringBoot로 간단한 웹 개발하기 첫 포스팅입니다. 이 글은 이동욱님의 SpringBoot로 웹 서비스 출시하기를 참고하여 포스팅하는 글입니다.https://jojoldu.tistory.com/250 굳이 잘 정리 되어있는 글을 왜 똥손으로 다시 포스팅을 하냐고 하신다면. 복습과 제가 이해한 방식 그대로 다시 정리하기 위해서 입니다. 그래야 저는 더 오래 기억에 남더군요. 추가적으로 좋은 글 포스팅해주신 이동욱님에게 감사드립니다. 1. 개발 환경IDE- Intelli J (Ultimate)Eclipse와 Intelli J 를 둘다 써봤고, 그중 Intelli J 를 선택한 이유는 우선 인터페이스가 저에게 잘 맞는것 같습니다...? 뿐만아니라..
Spring - Lombok 이란?, Intellij Lombok 설정방법 Lombok 이란 Spring에 대한 기초와 원리에 대한 개념이 부족한것 같아 시작한 Spring 포스팅이 어느덧 30개 가량이 넘어가고 있습니다. Spring에 대한 포스팅을 계속 하면서 이제는 프로젝트를 다시 한번 건드려보자는 생각이 들어 시작하려는 도중 아주 좋은 라이브러리를 발견하여 소개하려고 합니다. 바로 Lombok이란 것입니다. Lombok 1. 왜 쓰죠?새로운 라이브러리를 보았을때에는 항상 왜 사용하는지를 파악하는 것이 우선인것 같습니다. 당연시 여기는 것들이 가끔은 당연하지 않은 경우가 있습니다.. 왜 쓸까를 한번 생각해 보시죠. Lombok 이전의 코드우리는 프로젝트를 진행하면서 DB와 데이터를 주고받기 위해 DTO, VO Class들을 작성하여 데이터를 손쉽게 다루게 됩니다. 그런데 ..
SpringMVC - Spring MVC 동작원리 - 7 (web.xml 없애기) 이번 포스팅에서는 web.xml을 이용하지 않는 Spring WebApplication을 만들어보겠습니다 제목에서 "web.xml을 없앤다"는 조금은 이상할 수 있는 말을 했습니다. 없앤다는 표현이 정확한것인지는 모르겠습니다만, Java Class 파일을 이용해 web.xml의 설정을 대신하기 때문에 결론적으로 web.xml을 삭제해도 정상 동작하게됩니다. 이번 포스팅에서는 web.xml을 이용하지 않는 Spring WebApplication을 만들어보겠습니다. Spring학습을 하시면 보통의 경우 web.xml이 생성되어지는 프로젝트를 만들어 학습을 하게됩니다. 또 컨테이너가 초기화 될때 이 web.xml에 적혀있는 정보를 토대로 초기화 하기 때문에, web.xml을 설정하는 방법을 배우게 되죠. 하지..
SpringMVC - Spring MVC 동작원리 - 6 (DispatcherServlet의 구성요소) Spring MVC 구성요소 Spring MVC의 구성요소들에 대해서 살펴보겠습니다. 우선 위의 그림은 DispatcherServlet이 Web환경을 제공하기 위해 사용하는 여러 Interface들입니다. 각각의 것들을 조금 더 자세히 알아보도록 하겠습니다. 1. MultipartResolverMultipartResolver의 경우 사용자의 파일업로드 요청에 대한 처리를 하는 인터페이스입니다. HttpServletRequest를 MultipartHttpServlerRequest로 변환해 getFile() 메소드를 통해 요청에 담긴 file을 쉽게 꺼낼 수 있는 API를 제공합니다. MultiparResolver의 경우에는 개발자가 별도의 Bean을 등록하지 않는다고해도 별도로 Spring에서 등록해주지 ..
SpringMVC - Spring MVC 동작원리 - 5 (ViewResolver, DispatcherServlet 기본전략 등록 과정) DispatcherServlet의 initViewResolver SpringBoot나 이미 설정되어있는 Spring을 사용하신 분들은 위와같이 Controller의 handler들에서 간단히 view(문자열)이름만을 반환하면 사용자에게 해당 view가 보이게 되는 것을 경험하셨을 것입니다. 허나 이 포스팅의 처음부터 따라오신분들께서는 위와 같이 코드를 작성하고, 요청 한다면, 404 ERROR를 내뱉게 됩니다. 즉 view의 전체 경로 (/WEB-INF/hello.jsp)를 적어주어야 합니다. 그렇다면 어떻게 위와 같이 간단히 view 이름만을 반환하여, 사용자가 원하는 view를 보여줄 수 있을까요? 1. DispatcherServlet의 ViewResolver앞서 질문드렸던 답은 바로 ViewReso..