목록Spring (7)
여행을 개발하다
Spring Boot 개발 환경에서 정적 자원에 대한 접근 설정에 대해 이야기하고자 한다. 웹(WEB) 환경에서 클라이언트와 서버는 서로 자원들을 주고받는데, 이 자원들의 속성은 크게 '동적이냐 정적이냐'에 따라 동적 자원(Dynamic Resource)와 정적 자원(Static Resource)로 구분한다. ※ 동적자원 vs 정적자원 동적자원(Dynamic Resource)이란, 프로그램을 실행하기 위해 자원을 배당할 시 적용되는 기준에 따라 결정되는 배당기법이다. 가령 우리가 구글, 네이버와 같은 포털이나 유튜브에서 실시간으로 업로드되고 변하는 정보(뉴스나 날씨)를 볼 수 있는데, 이런 것들이 모두 동적 자원의 한 형태라고 볼 수 있다(좀 더 정확히 말하면, 동적 페이지를 열람하는 것이다). 반면, ..
안녕하세요!! 오늘 포스팅 할 내용은 '관점 지향 프로그래밍(Aspect-oriented programming, AOP)'입니다. 그 중에서도 xml 파일을 이용하는 방식으로 해볼껀데요. 지금까지는 고유한 기능을 가지고 있는 클래스, 인터페이스의 객체들을 조합하여 프로그램을 만드는 '객체 지향 프로그래밍(Object Oriented Programming, OOP)'이 주였지만, 트랜잭션이나 로그처럼 반복되는 중복 코드가 여전히 발생한다는 한계점이 있었습니다. 이러한 한계점을 보완하기 위해 고안된 방식이 '관점 지향 프로그래밍, AOP' 입니다. 1. AOP, Aspect-oriented programming? - 객체 지향 프로그래밍에서 여전히 중복 코드(횡단 관심사)가 발생한다는 단점을 해결하기 위해 ..
안녕하세요!! 오늘은 Java Class를 사용하여 Bean을 생성하는 법에 대해 알아보겠습니다. 지난 시간까지는 별도의 xml 파일을 따로 만들었지만, 이번에는 Java Class 그 자체로 해결할 수 있는 방식을 소개합니다. 역시 어떤 방식을 사용할지는 자유롭게 선택하시면 됩니다. 이번에 소개하는 방식은 별도의 xml 파일을 사용하지 않으므로, 모든 것을 class로 해결합니다. 먼저 3개의 class를 생성할 예정이며, 목록은 다음과 같습니다. 1. 학생 정보를 기억할 class(class 이름 : student). 2. student의 객체, 즉 bean 역할을 할 class(xml 파일 대신 사용). 3. bean을 호출하여 출력할 Main class. ① 학생 정보를 기억할 class(clas..
안녕하세요!! 오늘 포스팅할 내용은 'c와 p namespace를 사용하여 bean을 초기화'하는 방법입니다. 지금까지 의존성 주입을 주제로 이야기를 해오고 있는데, 결국 방법의 차이일뿐 결과는 동일합니다. 결국 사용하기 가장 편하신 방법으로 코딩하시면 되겠습니다! 1. Namespaces 추가하기 c와 p namespace를 사용하기 위해서는 일련의 사전작업이 필요한데요. factory 클래스로 지정한 xml 파일의 하단 부분을 보시면, 'Namespaces'라는 탭이 있습니다. 저희는 지금까지 Source 탭에서 작업을 해왔던거구요! Namespaces를 탭을 클릭해서 들어가면, 다음과 같이 여러 종류의 namespace가 리스트업됩니다. 이중에서 c와 p에 체크해주시고, 'ctrl+s'를 눌러 저장..
안녕하세요! 오늘은 지난 포스팅에 이어 '멤버 변수로 ArrayList가 포함된 객체를 초기화하는 방법'과, '생성자로 초기화하는 방법'에 대해 알아보고자 합니다. 이해가 조금 어려우시다고요? 지난 번 임의로 student 클래스를 만들어서 예제를 보여드렸었는데, 여기서 추가로 한 학생의 '취미(hobby)'까지 멤버 변수로 넣는다고 가정하겠습니다. 물론, 취미는 한 개이면 다행이지만, 그렇지 않을 경우를 상정해서 여러개를 받도록하죠. 그래서 변수 또한 ArrayList 자료형이 되고요, 변수명은 간단히 'hobby'로 지정합니다. 멤버 변수 초기화도 setter 대신에 생성자로 초기화할 수 있도록, 기본 생성자와 함께 또다른 생성자를 하나를 더 만들어주었습니다. 여기까지 완료되었다면, 기존에 해왔던 방..
안녕하세요! 오늘은 '스프링의 개요'와 '의존성 주입(Dependency Injection)'에 대해 알아보겠습니다. 1. 스프링 프레임워크(Spring Framework) 스프링은 자바 플랫폼을 위한 '오픈소스 애플리케이션 프레임워크(Framework)'입니다. 여기서 프레임워크란, 소프트웨어를 편리하게 제작할 수 있도록 뼈대를 이루는 클래스와 인터페이스를 미리 제작하여 모아둔 것을 의미하는데요. 프레임워크를 적시적소에 사용하면 프로그램 개발의 생산성이 올라가며, 품질이 향상된다는 장점이 있습니다. 하지만 익숙해지는데 시간이 소요된다는 것이 결국 유연성의 부족으로 이어진다는 단점도 있습니다. 스프링은 프레임워크의 일종으로 여러 클래스의 객체를 생성해주고, 조립해주는 '조립기' 역할을 합니다. 또한 크기..
안녕하세요! 오늘은 스프링(Spring)의 설치법에 대해 포스팅하고자 합니다. (단, Eclipse를 사용하고 계셔야 합니다.) 1. Spring 공식 홈페이지 접속하기 먼저 Spring 공식 홈페이지로 들어갑니다. 불편하시면 아래 링크로 곧장 들어가셔도 상관없습니다. 주소는 'spring.io'!!! 일반 홈페이지와는 조금 다르죠? spring.io 2. Tools 메뉴 선택 스크롤을 끝까지 내려주시면 아래 TEAM, SERVICES, TOOLS, STORE 등의 메뉴가 보이는데요. (왜 이렇게 숨겨놓으셨을까...) 이 중에서 TOOLS를 선택합니다!! 3. 버전에 맞는 다운로드 파일 선택 그 다음엔 버전에 맞는 다운로드 파일을 선택해야 합니다. 급하게 'DOWNLOAD STS'을 누르시지 말고, 아래..