본문 바로가기

분류 전체보기

(197)
jar 파일 jar 파일이란? JAR(Java ARchive, 자바 아카이브)는 여러 개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷 예를 들어, ojdbc6.jar 파일은 DB에 접속할 수 있는 코드를 미리 작성해놓은 것 오라클에서 만들어낸 자바 코드를 패키징화하는 것 -> 이것이 모듈화 한 가지 더, 자바의 실행파일은 exe가 아니고 jar이다 Runnable JAR File로 내보내게 되면, 더블클릭하면 실행됨 (진짜 exe처럼) jar 파일을 직접 만들어보자.
Bean 객체의 생애 - 생성과 소멸 일단 기본적인 용어부터 정리해보자. Context -> 시작점, 기본, 베이스, 최상위, 흐름의 시작점 Context Path -> 사용자가 서버로 요청할 때 최상위 경로. 경로의 시작. 보통 / 스프링 컨테이너 -> GenericApplicationContext 실행 시, Context 객체 생성 = 컨테이너 생성 -> 의존 주입, 객체 제어까지 즉, 객체들을 관리해주는 상자 -> 초기화까지 진행된다는 것을 깔고 가자 cf) jsp에서는 톰캣이 스프링 컨테이너의 역할을 했다고 보면 될듯 이제 본격적으로 스프링 컨테이너의 생애를 살펴보자. 이제 기본적인 Bean 객체의 생애를 살펴보자. Bean 생성과 소멸 관련 메서드들을 살펴보자. - 객체를 생성할 때 호출되는 메서드가 정의된 인터페이스 : Initi..
Java 설정 파일 + XML 설정 파일 함께 사용하기 전에서 Java 설정 파일 사용하는 법에 대해 작성했다. 이번에는 Java, XML 중에 메인을 정해 함께 사용하는 방법에 대해 확인해보자. 1. 자바 설정 파일을 메인으로, xml 설정 파일을 서브로 @ImportResource("classpath:xml파일명") 자바에서 xml 파일을 가져와서 쓰고 싶을 경우 사용하는 어노테이션 이번에는 반대로, 적용하는 경우를 살펴보자. 2. XML 설정 파일을 메인으로, 자바 설정 파일을 서브로 @ImportResource("classpath:xml파일명") 자바에서 xml 파일을 가져와서 쓰고 싶을 경우 사용하는 어노테이션 xml에서 자바 파일을 가져와서 쓰고 싶을 경우 사용하는 태그
Java 설정 파일 쪼개기 - @Import 자바 설정 파일을 두 개의 파일 나누어 설정해보자. 나눈 파일을 어떻게 공유했는지 확인하고, 메인에서 어떻게 사용했는지 확인하자. 위에서의 단점은? 메인에서 동시에 두 가지 파일을 불러야한다는 것! 그래서 이번에는 자바 설정 파일 둘 중에 메인 파일을 정해서, 메인에서 한 가지 파일만 불러오는 방법을 살펴보자. @Import(포함시킬 클래스명) 다른 클래스의 정보를 포함시킬 때 대표되는 클래스명 위에 사용하는 어노테이션
Java 설정 파일 - 직접 주입 / 자동 주입 어노테이션 첫 번째, 자바 클래스 파일에 객체를 생성하고 직접 주입까지 진행해보자. 참고로, xml에서 이렇게 진행하던 방식을 자바 클래스 파일로 어떻게 표현하는지 확인해보자. // 객체 생성 // 객체 생성 및 주입 @Configuration xml 설정 대신에 자바 클래스 파일에 빈 설정을 할 때, 그 클래스 위에 붙이는 어노테이션 @Bean 자바 클래스 파일에서 생성하고자 하는 객체 위에 붙이는 어노테이션 두 번째, 자바 클래스 파일에 객체를 생성하고 자동 주입까지 진행해보자. 자동 주입은 @Autowired 어노테이션을 사용했던 것 기억하지? 이런 식으로 xml에서는 객체 생성만 하고, 주입은 하지 않은 것을 확인. 이걸 자바 에서는 어떻게 표현할까? // 자동 주입을 해주는 클래스 파일의 @Autowire..
직접 의존 주입 <property> <constructor-args> xml 파일에서 태그를 활용한 의존 주입 방법에는 setter를 이용한 방법 / 생성자를 이용한 방법이 있다. 아래 예제를 확인해보자. 1) 스프링에서 객체를 생성하는 방법 - new 하는 것이 아니고, xml 태그 안에서 작업이 이루어진다 // 사용하고자 하는 SpringTest 객체(=클래스)를 test라는 이름으로 저장 // new 하려고 하는 클래스명을 class에 적고, id는 참조변수명과 동일해도 문제 없는 듯 // 메인에서 호출할 때 SpringTest test = ct.getBean("test", SpringTest.class); test.hello(); 2) 서로 관련이 있는 클래스들에 의존성 주입하기 - 생성자 사용 -xml에다가 의존성을 등록해놓으면, 메인 메소드에서 의존이 연결된 대..
의존 자동 주입 @Autowired @Qualified @Resource @Autowired 란? 의존 자동 주입 어노테이션 절대로 객체를 생성해주는게 아니라~ 필요로 하는 의존만 자동으로 주입해주는 것 객체 생성은 어디서 한다? xml 파일에서 태그를 통해 이미 객체 생성은 해놓았다. xml에서 ~ 이렇게 주입하기 귀찮으니까 어노테이션으로 해결하는거야. 의존 주입을 할 수 있는 위치는 총 세 군데가 있다. 1. 변수 2. setter 3. 생성자 아래 예시를 통해 확인해보자. @Qualifier란? 만약, xml에서 객체를 두 개 이상 만들어버린다면, 어떤 객체에 주입을 할 것인지 정해줘야한다. 왜냐하면, @Autowired는 객체 주입을 하나만 해줄 수 있기 때문에. 아래 예시를 확인해보자. @Resource란? - @Resource(name = “bean id”) - 빈..
스프링 객체 생성하기 - 싱글톤 패턴 * 싱글톤 스프링 컨테이너는 객체를 싱글톤으로 관리 -> 객체를 단 하나만 만든다. 아래의 첫 번째 예제에서 하나의 객체를 여러 번 생성하려고 하면 안되는 것을 볼 수 있다. (생성자가 한 번 불러짐, 가리키는 주소값이 같음) 두 번째 예제에서 컨테이너에 두 개의 객체를 생성해놓고 메인에서 불러오면 객체가 각각 생성되는 것을 확인할 수 있다. * 예제