Spring/02 Spring DI와 AOP
-
06 Spring으로 DB연결하기Spring/02 Spring DI와 AOP 2023. 6. 30. 23:11
Spring으로 DB연결하기 DBConnectionTest.java (Workbench 연결방법) >> 자바프로그램으로 mysql을 연결하려면 jdbc 드라이버가 필요 1) jdbc 드라이버를 Maven repository에서 다운로드 >> 클릭 후에 버전 다운로드 pom.xml(다운로드) DBConnectionTest.java(결과확인) >> ResultSet은 2차원 테이블 형태를 이루고 있다 >> 위에 방식은 JDBC API 2) JDBC API → Spring Jdbc 변경 >> 클릭 후에 버전 다운로드 pom,xml(다운로드) DBConnectionTest.java2 (결과확인) >> 스프링제공은 데이터 베이스 정보가 바뀔 때 마다 고치고 컴파일을 다시해야된다 >> new DriverManage..
-
05 Spring DI 활용하기(2) - 이론Spring/02 Spring DI와 AOP 2023. 6. 28. 22:22
Spring DI 활용하기(2) - 이론 6) IoC와 DI - 제어의 역전 (IoC) - 제어의 흐름을 전통적인 방식과 다르게 뒤바꾸는 것 의존성 주입 DI - 사용할 객체를 외부에서 주입받는 것 >> 전통적인 방식은 호출 방식 사용자가 라이브러리 메서드를 호출 >> Ioc 방식은 라이브러리에서 호출하여 사용자에게 전달 >> ①의 값을 넣을시 매번 코드를 변경해야됨 , IoC처럼 변경시 변경에 유연함 의존성 주입 DI(수동) ※ 의존성 주입 종류 : 수동 , 자동(@Autowired 6-1) 스프링 애너테이션 - @Autowired - 인스턴스 변수(iv), setter, 참조형 매개변수를 가진 생성자, 메서드에 적용 >> @Value를 생략하면, 주입할게 없다고 오류 발생 >> 생성자의 @Autowi..
-
04 Spring DI 활용하기(1) - 이론Spring/02 Spring DI와 AOP 2023. 6. 26. 22:47
Spring DI 활용하기(1) - 이론 1) 빈(bean)이란? - JavaBeans - 재사용 가능한 컴포넌트, 상태(iv), getter&setter, no-args constructor ↓ 복잡 → 간단 - Servlet & JSP bean - MVC의 Model, EL, scope, JSP container가 관리 ↓ 간단 → 대기업(복잡) - EJB (EnterPrise Java Beans) - 복잡한 규칙, EJB container가 관리 ↓ 대기업(복잡) → 심플 //로드 존슨(고수) - Spring Bean - POJO Plain Old Java object. 단순, 독립적, Spring container가 관리 2) BeanFactory와 ApplicationContext Bean - ..
-
03 Spring DI 활용하기-실습Spring/02 Spring DI와 AOP 2023. 6. 23. 23:19
pring DI 활용하기-실습 config.xml (resources → config.xml 작성 ※싱글톤: 클래스의 객체를 하나만 생성 >> scope를 생략하면 디폴트 값(scope="singleton")으로 입력 >> getBean( )할 때마다 새로운 객체가 만들어 지길 원하면 scop="prototype" SpringDiTest.java SpringDiTest.java >> ①을 주석처리 후, config.xml에서 를 사용하여 값을 입력 1) config.xml : 속성 >> value는 기본값만 알아서 class car의 타입의 String 이나 int값으로 변환시켜준다 >> Setter가 있어야 사용 가능하다 태그가 Setter를 사용 ①주석 처리 후 결과값 >> cofig.xml을 사용하..
-
02 Spring DI 흉내내기(2)Spring/02 Spring DI와 AOP 2023. 6. 22. 22:32
02 Spring DI 흉내내기(2) 4) 객체 찾기 - by Name, by Tybe main3.java 5) 객체를 자동 연결하기(1) - @Autowired (by Tybe) >> @Autowired는 Value값을 찾아서 engine 이나 door의 참조변수에 값을 넣어준다 ex) engine = 0x200 , door = 0x300 (instanceof 찾는다) >> 수동 연결 → 자동 연결 6) 객체를 자동 연결하기(2) - @Resource (by name) >> ① @Resource는 첫글자를 소문자로 바꾼걸 name으로 사용한다 ex) @Resource Engine → engine을 name으로 사용 >> ② @Resource(name="engine2") 사용자가 name을 직접 지정 >..
-
01 Spring DI 흉내내기(1)Spring/02 Spring DI와 AOP 2023. 6. 21. 22:23
Spring DI 흉내내기 1) 변경에 유리한 코드(1) - 다형성, factory method - 다형성을 통한 변경 포인트 줄이기 >> SportsCar → Truck 변경 >> 변경 포인트가 2군대 이지만 Car의 클래스로 만들면 변경 포인트가 1군대이다(다형성을 사용) ※ 다형성 : 조상타입의 참조 변수로 변경하면 변경 포인트가 하나로 줄어다 >> 단점 : 사용할 때마다 코드를 변경해야 된다 - 메서드를 통한 객체 생성(factory method) >> 변경할 메서드만 변경(변경 포인트가 더 줄어들었다 1) 변경에 유리한 코드(2) - Map과 외부 파일 >> Properties p = new Properties( ); 의 Properties는 map형태의 (String, String)으로 저장 ..