SMALL

Study/Spring 36

Spring legacy 설치 중에 에러 발생 org.eclipse.mylyn.commons.ui 3.7.0 4.0.0)' but it could not be found

org.eclipse.mylyn.commons.ui 3.7.0 4.0.0)' but it could not be found 위와 같은 에러가 발생 했을 때는 mylyn라는 라이브러리를 설치해서 받아줘야 한다. 이클립스나 STS에서 Help를 누르고 Install New Software를 클릭한 다음 path를 넣는곳에 http://download.eclipse.org/mylyn/releases/latest Eclipse software repository | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, ..

Study/Spring 2022.07.12

[Spring] Spring + Jquery + Html 다중 파일 업로드

원래는 Daum Editor 와 연동해 게시판 내 사진 프리뷰, 업로드 전체가 구현되어있지만 본 포스트는 프리뷰된 다중 파일이 어떻게 다시 form으로 재조합되고 결과를 받는지에 중점을 두었다. 이미지를 서버에 올리지 않고 미리보기하는 방법은 아래 포스트에 적혀있다. [html 파일 올리기 전에 preview 하기] 위의 포스트를 보지 않아도 무방하다. 위의 리소스를 수정하여 포스트할 것이기 때문이다. [Client-Side] - 이미지첨부를 클릭했을 때, 당장 이미지가 올라가지 않고 먼저 미리보기 된다. - 미리보기는 개별적으로 삭제가 가능하다. - 삭제된 이미지는 실제로 서버에 업로드되지 않고, 최종적으로 미리보기중인 파일만 업로드한다. 초기 화면은 이렇다. 이미지를 thumbnail처럼 보이기 위해..

Study/Spring 2021.03.14

[Spring Framework] 어노테이션을 이용한 DI

스프링에는 크게 XML로 작성된 Bean 정의 파일(이후, Bean 정의 파일)을 이용한 DI, 어노테이션을 이용한 DI, 자바 프로그램(이후 JavaConfig)에 의한 DI가 있다. 여기서는 간단하게 DI를 이용할 수 있는 어노테이션으로 구현하는 방법을 설명한다. @Autowired와 @Component 다음 그림을 구현하는 소스 코드 중 인터페이스가 부가된 Service와 Dao의 소스 코드를 살펴보자. (리스트2-1, 리스트2-2, 리스트2-3, 리스트2-4). [리스트 2-1]은 ProductService 인터페이스, [리스트 2-3]은 ProductDao 인터페이스가 있지만 인터페이스에는 아무 조작도 없으므로 따로 설명하지는 않는다. 이어서 조작이 필요한 부분, [리스트 2-2]의 Produc..

Study/Spring 2019.08.06

[Spring Framework] 스프링 DI란?

스프링 DI 스프링은 MVC 프레임워크(스프링 MVCa)와 JDBC를 추상화한 프레임워크(스프링 JDBC) 등 여러 기능을 개발자에게 제공하는 애플리케이션 아키텍처의 베이스가 된다. 그리고 코어가 DIxAOP 컨테이너이다. DI란? 우선 스프링이 제공하는 DIxAOP컨테이너에서의 DI 부분을 알아보자. DI는 인터페이스를 이용해 컴포넌트화를 실현하는 것이다. 이 부분을 분명히 인식해야 한다. DI를 우리말로 옮기면 의존 관계의 주입이다. 의미가 구체적이지 않아 선뜻 이해되지 않겠지만, 쉽게 말해 오브젝트 사이의 의존 관계를 만드는 것이다. 이 말은 어떤 오브젝트의 프로퍼티(인스턴스 변수)에 그 오브젝트가 이용할 오브젝트를 설정한다는 의미이다. 이를 학술적으로 말하면, 어떤 오브젝트가 의존(이용)할 오브젝..

Study/Spring 2019.08.06

[Spring Framework] 스프링 부트

스프링 부트는 소프트웨어 개발을 위한 기반 프레임워크라고도 말할 수 있다. 앞에서 설명한 레이어에 존재하는 스프링 기술이나 그 밖의 라이브러리(Tomcat, H2DB, Commons 등)를 적절하게 통합한 템플릿을 풍부하게 제공하고 있어서, 웹 애플리케이션을 빠르게 개발할 수 있게 해준다. 대규모 업무 시스템의 실적은 아직 적은 편이나, 애자일이나 마이크로서비스 아키텍처, 클라우드 등의 키워드와 잘 어울리는 주목해볼 기술이다.

Study/Spring 2019.08.04

[Spring Framework] 데이터 액세스 층

스프링 JDBC 개발자가 JDBC를 직접 다루는 것은 영속화 조직을 복잡하게 만든다는 생각에서 스프링은 JDBC를 추상화하는 프레임워크인 스프링 JDBC를 제공하고 있다. 스프링 JDBC는 SQL문을 이용하는 형태의 데이터 액세스 프레임워크이다. 스프링 JDBC의 이용법은 'SELECT 문'과 'SELECT한 결과와 엔티티 클래스의 매핑'을 기술하기만 하면 되므로 SQL 문에 익숙한 개발자라면 간단히 사용할 수 있다. 최근에는 XML을 이용해 오브젝트와 테이블을 매핑하는 프레임워크도 많지만 SQL문에 익숙한 개발자나 참조가 주가 되는 앱 애플리케이션에서는 스프링 JDBC의 이용도 권장하고 있다. 스프링 데이터 RDB(릴레이션 데이터베이스)와 NoSQL 등의 다른 데이터 스토어에 액세스의 통일화와 단순화를..

Study/Spring 2019.08.04

[Spring Framework] 스프링 개요

드디어 스프링에 들어간다. 앞에서 작성한 포스팅은 스프링을 배우기전의 전반적으로 알아두어야 할 것들이다. 알고 배우는 것과 모르고 배우는 것은 보이는 시야가 다르다고 하지 않았던가 ㅎㅎ.. 스프링은 DI 컨테이너와 AOP 등을 구현하는 스프링 프레임워크를 말한다. 구현은 뒷 부분에 나오겠지만, 우선은 지금까지 포스팅한 웹 애플리케이션과 애플리케이션 아키텍처의 관계, 스프링의 필요성과 특징부터 이해하자. 스프링이란? 스프링은 로드 존슨을 중심으로 개발된 Java/Java EE용 프레임워크이다. DIxAOP 컨테이너를 중심으로 MVC 프레임워크(스프링 MVC, 스프링 웹 플로), JDBC를 추상화한 프레임워크(스프링 JDBC), 기존 프레임워크와의 통합 기능 등을 개발자에게 제공하는 애플리케이션 아키텍처의 ..

Study/Spring 2019.08.04

[Spring Framework] 부품화의 미래

여기까지 부품화의 이야기(포스팅)은 아키텍처로서의 모놀리식(monolithic) 형태를 대상으로 해왔다. 여기서는 현재의 이야기를 해보자. 우선 모놀리식의 아키텍처는 웹 애플리케이션이 하나의 프로젝트 형태로 디플로이된 형태이다. 따라서 모놀리식 아키텍처에서는 부품화 후 한 부품을 수정하더라도 전체를 다시 디플로이 해야 한다. 이렇게 되면 부품화한 의미가 흐려질 것이다. 그래서 어느 정도의 크기 및 모놀리식이라고 보이는 복잡한 시스템은 부품을 개별로 작성-수정해서 디플로이할 수 있다고 생각한 마이크로서비스(Microservices)가 나왔다. 어느 비즈니스 용건에 특화한 단위로, 거기에 UI부터 DB의 액세스까지 포함해도 문제(단, 라이브러리 같은 범용, 공용 부품은 별도)가 되지 않는다. 이렇게 잘라낸 ..

Study/Spring 2019.08.04