본문 바로가기

IT

(31)
JVM이란? / JVM의 구조 - 사좋배 공유 Java Virtual Machine 의 줄임말 이며 Java Byte Code를 OS에 맞게 해석 해주는 역할을 합니다. Java compiler는 .java파일을 .class라는 Java Byte code로 변환 시켜 줍니다. Byte Code 는 기계어가 아니기 때문에 OS에서 바로 실행되지 않습니다. 이때 JVM은 OS가 ByteCode를 이해할 수 있도록 해석 해줍니다. 하지만 JVM의 해석을 거치기 때문에 c언어 같은 네이티브 언어에 비해 속도가 느렸지만 JIT(Just In Time)컴파일러를 구현해 이점을 극복했습니다. Byte Code는 JVM 위에서 OS상관없이 실행된다. 이런 점이 Java의 가장 큰 장점이라고 할 수 있습니다. OS에 종속적이지 않고 Java 파일 하나만 만들면 어느..
자료구조란? 자료구조의 개념 - 사좋배 공유 자료구조란 무엇인가? 자료구조하면 보통 자료구조의 형태로 큐(Queue)나 스택(Stack) 혹은 연결 리스트(Linked List), 트리(Tree)등을 떠올리거나 선택정렬,삽입정렬 등등의 정렬 알고리즘등이 먼저 떠오릅니다. 사전적인 의미는 자료(Data)의 집합의 의미하며, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것이라고 합니다. 이러한 자료구조를 사용하는 목적은 무엇일까? 목적: 자료를 더 효율적으로 저장하고, 관리하기 위해 사용하며, 잘 선택된 자료구조는 실행시간을 단축시켜주거나 메모리 용량의 절약을 이끌어 낼 수 있습니다. 자료구조의 특징 1.효율성 앞서 설명 했듯이 자료구조를 사용하는 목적은 효율적인 데이터의 ..
Bean 의존 관게 설정 법 /property와 constructor-arg 차이 - 사좋배 공유 빈을 등록하다보면 property와 constructor-arg를 쓸때가 각가 있다. 어떨때 property를 사용하고 어떨때 constructor-arg를 사용하지는지 알아보자. Setter Injection:태그 Setter메소드를 통해 의존 관계가 있는 Bean을 주입할려면 태그를 사용할 수 있다. - ref 속성을 사용하면 Bean이름을 이용해 주입할 Bean을 찾는다. - value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다. Constructor Injection : 태그 Constructor를 통해 의존 관계가 있는 Bean을 주입하려면 태그를 사용할 수 있다. Constructor 주입 방식은 생성자의 파라미터를 이용하기 때문에 한번에 여러 개의 객체를 주입할 수 있다..
DispatcherServlet과 스프링 컨테이너 - 사좋배 공유 DispatcherServlet은 전달받은 설정 파일을 이용해서 스프링 컨테이너를 생성하는데, 앞에서 언급한 HandlerMapping, HandlerAdapter, 컨트롤러, ViewResolver 등의 빈은 위의 그림처럼 DispatcherServlet이 생성하는 스프링 컨테이너로부터 구한다. 따라서, DispatcherServlet이 사용하는 설정 파일에 이들 빈에 대한 정의가 포함되어 있어야 한다. contxtonfiguration 초기화 파라미터를 설정하지 않은 경우, Dispatcherservlet은 WEB-INF/[서블릿 이름]-servlet.xml파일을 설정 파일로 사용한다. 예를 들어, 다음 코드는 WEB-INF 폴더의 front-servlet.xml파일을 스프링 설정으로 사용하게 된다.
Controller(컨트롤러)와 (Handler)핸들러 - 사좋배 공유 클라이언트의 요청을 실제로 처리하는 것은 컨트롤러이고 DispatcherServlet은 클라이언트의 요청을 전달받는 창구 역할을 한다. 앞서 설명했듯이 DispatcherServlet은 클라이언트의 요청을 처리 할 컨트롤러를 찾기 위해 HandlerMapping을 사용한다. 컨트롤러를 찾아주는 객체의 타입은 ControllerMapping이어야 할 것 같은데 실제 타입은 HandlerMapping이다. 왜냐하면 스프링 MVC는 웹 요청을 처리할 수 있는 범용적인 프레임워크를 제공하고 있다. 이런 이유로 스프링 MVC는 웹 요청을 실제로 처리하는 객체를 핸들러(Handler)라고 표현하고 있으며, @Controller 적용 객체나 Controller 인터페이스를 구현한 객체 모두 스프링 MVC입장에서는 핸..
스프링 MVC 핵싱 구성 요소(스프링 MVC 흐름) - 사좋배 공유 스프링 MVC의 핵심 구성 요소 스프링MVC의 핵심 구성 요소와 각 요소간의 관계를 그림으로 그려보면아래와 같다. 이라고 표시한 것은 스프링 빈으로 등록해야 하는것들을 의미한다. 파란색 배경을 가진 구성요소를 개발자가 직접 구현해주어야 하는 요소이다. 그림을 보면 DispatcherServlet은 모든 연결을 담당한다. 웹 브라우저로부터 요청이 들어오면 Dispatcher Servlet은 그 요청을 처리하기 위한 컨트롤러 객체를 검색하는데, 이때 DispatcherServlet이 직접 검색하지 않고 HandlerMapping이라는 빈 객체에게 컨트롤러 검색을 요청한다. HandlerMapping은 클라이언트의 요청 경로를 이용해서 이를 처리할 컨트롤러 빈 객체를 DispatcherServlet에 전달한다..
Mysql 설치 및 eclipse 연동하기 - 사좋배 공유 Mysql 이클립스 연동 설정하는 법에 대해서 설명하겠습니다. 먼저 Mysql을 설치합니다. http://dev.mysql.com/downloads/connector/j/ MySQL :: Download Connector/J Download Connector/J MySQL Connector/J is the official JDBC driver for MySQL. MySQL Connector/J 8.0 is compatible with all MySQL versions starting with MySQL 5.5. Additionally, MySQL Connector/J 8.0 supports the new X DevAPI for development with MySQL Serv dev.mysql.com C..
@Resource 어노테이션이란? / @Resource @Autowired 차이점(@Resource vs @Autowired)-사좋배 공유 @Resource 어노테이션이란? @Autowired와 같은 역할을 한다고 보면된다. @Resource 어노테이션은 빈의 이름을 이용해서 주입할 객체를 검색한다. @Resource 어노테이션을 사용하려면 앞서 @Autowired 어노테이션과 마찬가지로 다음의 두가지만 추가하면된다.ㅇ 1.자동 주입 대상에 @Resource 어노테이션 사용 2.XML설정에 설정 추가 @Resource 어노테이션은 빈의 이름을 사용해서 주입할 빈 객체를 찾기 때문에, @Resource 어노테이션의 값으로 빈 객체의 이름을 지정한다. @Resource 어노테이션은 생성자에 적용할 수 없고 필드나 메서드에만 적용할 수 있다. @Autowired와 @Resource의 차이점. Autowired와 Resource 중에 무엇을 사용하..