본문 바로가기

728x90

Backend

(70)
[Spring Framework] 03. Spring 개발환경 구축 Spring Framework를 사용하려면 이클립스에 STS(Spring Tool Suite) 을 설치해야 한다. Java , 이클립스, tomcat에 대한 환경 설정은 모두 완료했다고 가정하겠다. 1. 이클립스에 STS(Spring Tool Suit) 설치 1) 이클립스 상단탭 HELP 클릭 -> Eclipse Marketplace 클릭 2) Marketplace에서 "sts" 를 검색해서 Standalon Edition 3.9.13 을 다운받는다. 3) 모두 confirm 하고 accept하면, 이클립스를 재시작하라고 나오면 클릭하고 재시작한다. 4) 오른쪽 상단에 perspective를 Spring 으로 변경한다. 5) Spring legacy 프로젝트 생성 6) Spring version 변경 -..
[Spring Framework] 02_02 의존객체 자동 주입 * 의존 객체 자동 주입이란? 스프링 설정 파일에서 의존 객체를 주입할 때 또는 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입해 주는 기능이다. 구현 방법은 @Autowired와 @Resource 어노테이션을 이용해서 쉽게 구현할 수 있다. 1) @Autowired 타입을 기준으로 의존성을 주입, 같은 타입 빈이 두 개 이상 있을 경우 변수이름으로 빈을 찾음 Spring 아노테이션 2) @Qualifier 빈의 이름으로 의존성 주입 @Autowired와 같이 사용 Spring 아노테이션 3) @Resource name을 속성을 이용하여 빈의 이름을 직접 지정 JavaSE의 아노테이션(JDK9에는 포함 안 되어 있음..
[Spring Framework] 02_01. Setter을 이용한 의존성 주입 방법 앞선 글에서는 의존성 주입을 할때, 생성자를 통하여 의존성 주입하는 방법에 대해서 알아보았다. 이번에는 setter을 이용해서 어떻게 의존성을 주입하는지 알아보겠다. 1) 먼저, setter를 xml파일에서 의존성을 주입하지않고 만드는 방법에 대해서 살펴보겠다. DatabaseInfo.java 는 데이터베이스의 url, id, pw를 가지고 있는 객체이고, MemberDAO.java 는 데이터베이스를 연동해주는 객체이다. 예시로 간단하게 만들었다. # DatabaseInfo.java package com.spring.basic.ex02; public class DatabaseInfo { private String url; private String uid; private String upw; public..
[Spring Framework] 02. DI(Dependency injection) 2.1 DI와 IoC IoC : Inversion of Control 제어의 역전, 프로그램을 제어하는 패턴 중 하나 - DI는 IoC패턴을 구현하는 방법 중 하나이다. - DI에 따라 프로그램의 흐름이 완전히 변경됨. DI : Dependency injection - 스프링 Container에 만들어둔 각종 클래스(bean) 들은 서로 의존적이다. ex) a 객체가 b 객체 없이 동작을 못함 => 스프링 프레임워크는 DI를 기준으로 많은 프레임워크 모듈이 만들어짐. 예시) 배터리에 의존해서 장남감을 만들었다 배터리 일체형 장난감 - 배터리가 떨어지면 장난감을 새로 구입해야됨. 배터리 분리형 장난감 - 배터리가 떨어지면 배터리만 교체하면됨. 배터리 탈부착형 장난감 - 배터리가 떨어지면 배터리만 교체하면됨..
[Spring Framework] 01. Spring과 maven의 이해 1.1 스프링 프레임워크 개요 - 프레임워크 : 기본뼈대. 방향성을 제시하고 원하는 기능을 빠르게 만들 수 있음. - 스프링 프레임워크는 DI, AOP, MVC, JDBC등을 제공한다. - 모듈 : 라이브러리, 프레임워크안에 미리 만들어져 있는 기능n 1.2 스프링 프레임워크 특징 1) POJO(Plain Old Java Object) 기반의 프레임워크 자바 객체의 라이프사이클을 스프링 컨테이너가 직접 관리하며, 스프링 컨테이너로부터 필요한 객체를 얻어올 수 있다. 2) DI(Dependency Injection) 을 지원 각 계층이나 서비스 들 사이 또는 객체들 사이에 의존성이 존재할 경우 스프링 프레임워크가 서로를 연결시켜준다. -> 클래스들 사이에 약한 결합을 가능하게 해줌. 3) AOP(Aspec..
[JAVA 디자인 패턴] 스트래티지 패턴 ( Strategy Pattern) JAVA 디자인 패턴 스터디를 하면서 공부한 내용들을 정리 보려고 합니다. "JAVA 객체지향 디자인 패턴" 책을 참고하면서 작성했습니다. 디자인 패턴을 사용할때는 "왜? 쓰는가?, 쓰면 뭐가 좋은가? 안쓰면 무슨 문제가 있는가?"에 대해서 먼저 완벽히 학습을 한뒤에 구체적인 예제를 코딩해보면서 공부하는 것이 효율적인 것 같습니다. 이런 디자인 패턴이 실제 코딩을 할때 어떤 패턴을 사용할지 적용할 수 있기 때문입니다. 그렇기 때문에 "왜 스트래티지 패턴을 사용하는가?" 에 대해 알아보고, 구체적인 코드를 통해 예시를 보겠습니다. 1. 로봇 만들기 "로봇" 을 만들때 , 우리는 객체지향의 상속의 개념을 통해 Robot class 에 구체적인 로봇인 TakewonV class, Atom class 이렇게 만..

728x90