Spring/Spring 기본 지식
-
Spring postgresql mybatis jdbc 기본 연결테스트Spring/Spring 기본 지식 2020. 3. 23. 10:51
기본 구조 Junit5 사용하여 연결 테스트 @ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/spring/PostgreSQL-context.xml"}) public class PostgreSQLConnectionTest { @Autowired private DataSource ds; @Test public void testConnection() throws Exception { try (Connection con = ds.getConnection()) { System.out.println("\nDBConnection 있냐? : " + con + "\n"); } catch (Exception e) { e.printStackTrace(); } ..
-
-
Spring Bean Life CycleSpring/Spring 기본 지식 2020. 3. 15. 21:16
빈 생명주기 메소드 초기화 메소드(initialization method) 초기화 메소드는 빈 오브젝트가 생성되고 DI 작업까지 마친 다음에 실행되는 메소드를 말한다. 오브젝트의 기본적인 초기화 작업은 생성자에서 진행함녀 된다. 하지만 DI를 통해 모든 프로터티가 주입된 후에야 가능한 작업도 있다. 이런경우 사용할 수 있는것이 초기화메소드다. 초기화 콜백 인터페이스 InializingBean 인터페이스를 구현해서 빈을 작성하는 방법이다. InializingBean의 afterPropertiesSet() 메소드는 이름 그대로 프로퍼티 설정까지 마친 뒤에 호출된다. 다른 방법이 더 건결하며, 빈 코프에 스프링 인터페이스를 노출하기 때문에 권장되지 않는다. init-method 지정 XML을 이용하면 bean..
-
DI 방법 3가지Spring/Spring 기본 지식 2020. 3. 12. 23:27
Srping 4.3부터 어떠한 클래스에 생성자가 1개뿐이고, 그 생성자를 주입받는 래퍼런스 변수들이 Bean으로 등록되어있다면 그 빈을 자동으로 주입하도록 되어있다. 스프링에서의 DI방법 3가지 Field Injection @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); @Autowired private TestService1 service1; @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) {..
-
spring IoC의 용어 정리Spring/Spring 기본 지식 2020. 2. 11. 20:53
1. 빈(Bean) 빈 또는 빈 오브젝트는 스프링이 IoC방식으로 관리하는 오브젝트(관리되는 오브젝트 - managed object) 스프링이 직접 그 생성과 제어를 담당하는 오트젝트만 빈이라고 부른다. 2. 빈 팩토리(bean factory) 스프링의 IoC를 담당하는 핵심 컨테이너를 가르킨다. 빈을 등록하고, 생성하고, 조회하고 돌려주고 그 외에 부가적인 빈을 관리하는 기능을 담당 빈팩토리를 바로 사용하지 않고 이를 확장한 애플리케이션 컨텍스트 이용 BeanFactory라로 붙여 쓰면 빈 팩토리가 구현하고 있는 가장 기본적인 인터페이스의 이름이 됨(getBean()과 같은 메소드 정의) 3. 애플리케이션 컨텍스트(Application context) 빈 팩토리를 확장한 IoC 컨테이너 빈을 등록하고 ..
-
1. spring 사용 이유Spring/Spring 기본 지식 2020. 2. 6. 13:17
스프링 사용이유 객체의 생성은 Spring Container에 맡기고, DI(Dependency Injection)을 통해 객체를 주입받아서 사용하여 '생성'과 '사용'을 분리해서 이용하기 때문에 객체지향 5개원칙 중 단일책임 원칙, 개방-폐쇄의 원칙 준수 가능 단일책임 준수 원칙을 지키는 이유 클래스가 수행하는 기능들이 많아지면 클래스 내부의 함수끼리 강한 결합이 될 가능성이 높아지기 때문에 개방-폐쇄의 원칙 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계 AOP(AspectOriented Programming)를 사용 다양한 모듈에서 공통적으로 이용되는 기능들을 분리시켜 사용하여 핵심기능 외의 기능을 해당 모듈에 응집되지 않도록 하는 기술 PoJo 지원 가능사용 (Plan Old Jav..