ApplicationContext 계층구조
·
Framework/SPRING FRAMEWORK
📌 IoC Container라고 불리우는 ApplicationContext 계층 구조 📌 IoC (Inversion Of Control 제어의 역전) 컴포넌트 의존관계 설정, 설정, 및 생명주기를 해결하기 위한 디자인 패턴이다. 객체의 생성 및 생명주익에 대한 모든 객체의 제어권이 바뀌었다는 것을 의미한다. 즉, 필요한 객체가 있으면 내가 직접 생성해서 사용하는 것이 아니고, 외부에서 나한테 필요한 객체를 생성해서 던져준다. 타입만 일치하면 나는 받아서 사용할 수 있다. 📌 IoC 컨테이너 ▪ IoC 방법으로 빈(bean)을 관리한다는 의미에서 IoC 컨테이너라고 한다. ▪ 개발자가 직접 객체를 생성하지 않고 객체의 생성과 소멸을 컨테이너가 관리한다. 즉, 컨테이너에 객체를 담아두고 필요시 컨테이너로부터..
02. 빈 얻기
·
Framework/SPRING FRAMEWORK
✅ 빈에 리턴값이 있는 메서드 작성 ✅ xml에 빈등록 ✅ 스프링 컨테이너에서 객체를 얻어와야하는데 먼저 컨테이너에 접근 해야하므로 GenericXmlApplicationContext 객체를 통해 user.xml에 있는 설정을 읽어온다. 1️⃣ .getBean("id값"); => xml에 등록된 bean태그의 id 값을 이용해서 빈을 참조한다. => id값만 던지면 Object 타입으로 리턴하므로 형변환을 해주어야 한다. 👉 권장하지 않는다. UserDAO userDAO = (UserDAO)ctx.getBean("yyy"); // .getBean("id값"); 권장안함 2️⃣ .getBean("id값", 클래스명.class); ⭐⭐⭐ => 매개변수로 BeanName+Class 를 던지므로 보다 명확하게 ..
01. 빈 생성_prefix
·
Framework/SPRING FRAMEWORK
✅ 만들어져 있는 xml을 폴더에 복사해두고 ✅ 삭제해보자 ✅ 이런 경우 ApplicationContext에 xml을 알려줄 때, xml 경로 앞에 file: 을 꼭 작성해야한다. "file:c:\\spring_study\\user2.xml" ✅ 원래 경로에도 classpath: 를 붙여주는게 맞는데 생략할 수 있다.
01. 빈 생성_multi
·
Framework/SPRING FRAMEWORK
✅ 새로운 프로젝트 생성 ✅ .xml 파일을 2개 생성한다. ✅ 두 개의 xml에 각각 다른 빈을 등록한다. ✅ 빈 등록 후, main.java 로 와서 ApplicationContext에 xml을 알려준다. 두 개의 xml을 등록하였기 때문에 두 개의 xml을 알려주어야 하는데 이때 (,)으로 구분하여 알려준다. 즉,ApplicationContext에두 개 이상의 빈을 알려주어야 할 때 (,) 를 사용해 구분하여 작성한다. ✅ 존재하는 전체 xml을 알려주고 싶다면 * 를 사용한다.
01. 빈 생성
·
Framework/SPRING FRAMEWORK
📌 빈 생성 ✅ new 프로젝트 생성 ✅ new 클래스 생성 = 빈(.java)을 생성 ✅ 생성한 빈에 메서드를 작성한다. ✅ 출력문 작성한다. ✅ main 클래스를 생성한다. ✅ 이전방식을 먼저 살펴보자. new를 사용해 객체를 생성하고 호출시키는 방식 ✅ 스프링 방식을 사용하기위해 빈을 관리하는 파일을 생성한다. src/main/resouce - New - Spring Bean Configuration File ✅ 빈을 관리하는 파일인 user.xml이 만들어진 모습 ✅ 이제 user.xml에 빈 등록을 해주자 ✅ main에 ApplicationContext객체를 생성하고, Application Context에 등록한 xml을 알려준다. GenericXmlApplicationContext class ..
비 스프링 개발 vs 스프링 개발
·
Framework/SPRING FRAMEWORK
📌 비 스프링 개발 UserMain.java ————> UserService.java (main) hello(){} UserService s = new UserService(); s.hello(); 📌스프링 개발 UserMain.java ————> UserService.java (main) hello(){} 스프링에서는 클래스를 빈(bean)이라고 부른다. 직접 빈을 new 하지 않음. 외부()에서 위임해서 관리하도록 함. ( 빈 생성~빈 소멸 까지의 빈의 lifecycle을 관리함) new 하지 않고 tomcat 컨테이너가 서블릿을 관리하는 방식과 비슷하다. 차이점은 tomcat은 서버(프로그램)이고 빈을 관리하는 외부()는 프로그램이 아니고 또 다른 빈이다. 외부()의 실체 클래스(빈)는 Applic..
Maven 빌드툴
·
Framework/SPRING FRAMEWORK
📌 Maven 빌드툴 프로그램 개발 프로세스 과거에는 일련의 작업들을 개발자들이 수 작업 했었다. 현재는 빌드툴 자동화 현재 가장 많이 사용하는 빌드 툴 Maven Gradle 📌 Maven 프로젝트 구조 프로젝트명 src/main/java ⇒ 이전 src 경로와 동일하고 *.java 저장됨 src/main/resource ⇒ *.java 제외한 나머지 자원 ( *.properties, *.xml ) ⇒ Maven이 자동으로 scr/main/resource에 있는 자원을 src/main/java 로 복사해줌 src/test/java ⇒ 단위 테스트용 *.java 저장됨 ⇒ Maven이 자동으로 컴파일 및 실행해줌 JRE System Library ⇒ JDK 정보 ⇒ pom.xml 파일에 다음과 같이 설정..
환경설정
·
Framework/SPRING FRAMEWORK
http://spring.io http://mvnrepository.com ⇒ Maven, Gradle 등 빌드줄의 의존성 설정정보 제공 📌 다운로드 JDK 1.8 ( JDK 11 ) tomcat 9.X 개발툴: 이클립스 (X) STS ( Spring Tool Suite ) - 이클립스와 동일, tc(tomcat) server 내장 Spring Tool Suite 3.9.14의 full distribution on Eclipse 4.15 다운 ( JDK 1.8 지원함) sts 3 : spring framework + spring boot sts 4 : spring boot spring framework 5.2.25.RELEASE 📌 spring 기술 종류 spring framework spring boo..
xoo | 수진