본문 바로가기

Development/Spring

(5)
Why Spring - 왜 스프링을 사용하지? Why Spring ? 스프링을 사용하기만 했지, 왜 스프링을 사용해서 개발하는 지에 대한 고찰을 해본적이 없다. 그래서 또 의식의 흐름대로 글을 써내려가 봅니다. 스프링은 프레임워크(Framework)다. 프레임워크 ! 즉, 소프트웨어의 설계와 구현에 있어서 전체적인 뼈대와 틀을 제공한다는 것이다. 조금 더 높은 추상화 레벨에서 보면 개발자가 개발하기 편하게 해주는 녀석이다.그렇다면 스프링은 어떤 방식으로, 어떤 컨셉으로 우리를 도와주느냐 ? 이 말을 설명하기에 앞서 그렇다면 스프링 혹은 다른 프레임워크 없이 오직 JDK로만 소프트웨어를 개발한다고 생각해보자. 개발 과정에서 끊임없이 인스턴스는 생성과 소멸을 반복할테고, 클래스들 사이에는 복잡한 의존관계를 가지기도 할 것이며, 반복되는 로직이 수없이 호..
톰캣에 Spring Profile 지정하기 tomcat/bin 디렉토리에서Linuxsetenv.sh 파일 생성 후 아래와 같이 작성 JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active={profile_name}"Windowsetenv.bat 파일 생성 후 아래와 같이 작성 JAVA_OPTS=%JAVA_OPTS% -Dspring.profiles.active={profile_name}
IntelliJ 로 SpringBoot + Gradle 프로젝트 생성하기 개인 프로젝트를 위해 고민하다가, 편하게 스프링 부트를 사용하기로 했다. 이런 저런 설정 잡는 것도 중요하긴 하지만 이번 프로젝트의 목적은, 프로덕트 생산 과정의 흐름을 체득하기 위함이기 때문에 초반 Configuration에 수고를 좀 덜고 싶었다. (처음에 Configuration만 하다 지쳐서 중간에 몇 번 포기한 적이 있기 때문에) 별건 아니지만 대망의 프로젝트 시작을 알리는 의미로 정리를 해보려 한다. 개발환경은 OSX El Capitan과 IntelliJ 15. (둘다 버전업을 해야 하는데 귀찮아서 이러고 있다.) IntelliJ 에서도 STS와 마찬가지로, 스프링 부트 프로젝트를 굉장히 편하게 생성할 수 있다.[New Project] - [Spring Initializr] 에서 몇 번의 클릭..
빈(bean) 의존관계 설정. 빈 등록방법과 마찬가지로 빈 사이의 의존관계를 설정하는 방법에도 여러가지가 있다. 선정방법에 따른 분류는 아래와 같다.1. 명시적으로 구체적인 빈을 지정.2. 일정한 규칙에따라 자동으로 지정(Autowiring) 메타정보 작성방법에 따른 분류를 하면 아래와 같다.1. XML 태그 / 2. 전용태그 / 3. 애노테이션 / 4. 자바코드에 의한 직접적인 DI이 4가지 방법이, 앞서 말한 선정방법에 따른 분류방식으로 각각 구분할 수 있기 때문에 총 8가지의 빈 의존관계 주입방식이 있다고 보면된다. (빈 등록방식과 의존관계 주입방식이 항상 같을 필요는 없다)넓은 의미에서 DI는, 빈 외에도 단순 오브젝트나 값을 주입하는 것도 포함된다. 지금부터 DI 방식에 대해 알아보자~~~ 1. XML : , 을 이용해 빈을..
빈 설정 메타정보 (Config) 작성 테스트 빈(Bean) 설정 메타정보를 작성하는 방법에는 여러 가지가 있으며, 적당히 조합하여 사용할 수도 있다. 우선 메타 정보는 적절한 Reader 만 있으면 포맷에 상관없이 작성 가능하다.(xml, annotation, java, properties ...) @Setter public class Hello { private String name; private Printer printer; public String sayHello() { return "Hello " + name; } public void print() { this.printer.print(sayHello()); } }public interface Printer { void print(String msg); } public class Stri..