반응형 분류 전체보기150 스프링(Spring) - DI(Depedency Injection) 개념과 예제 : setter() 사용 예제 파일 : 이번 포스트에서는 스프링의 핵심 기능중 하나인 DI(Dependecy Injection)에 대해 알아보고 예제를 작성해보겠습니다. DI는 말 그대로 의존성을 주입시켜준다- 입니다. 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입을 시켜주는 방식인데요. 예제를 보며 알아가봅시다. 일단 A라는 객체에서 B, C라는 객체를 이용할 때 두가지 방법이 있습니다. 첫번째 방법은 A객체가 B와 C객체를 New 생성자를 통해서 직접 생성하는 방법이고, 두번째 방법은 외부에서 생성 된 객체를 setter()나 생성자를 통해 사용하는 방법입니다. 첫번째 방법 예제를 보시면 MainClass는 Cats를 의존하고 있고, MainClass에서 직접 Cats클래스를 생성해서 사용합니다. 방법1 예제) 두.. 프로그래밍/Spring 2016. 10. 22. 스프링 부트 게시판 만들기4 - Rest방식의 게시글 목록/작성/수정/삭제 관련글 : 스프링 부트로 게시판 만들기1 - 프로젝트 생성스프링 부트로 게시판 만들기2 - MyBatis, MySQL 연동스프링 부트로 게시판 만들기3 - JSP 사용하기 사실 포스팅은 매일하는데 어제는 작성 완료를 못해서 못올렸네요. 문제가 있었는데요.스프링 부트로 게시판 만들기1에서 목표가 rest서비스를 하겠다.... 였습니다. 스프링 부트도 처음 접해보는데 개념이 잡히지 않은 rest방식으로 하려니까 자료도 별로 없어서 힘들더라고요. 지식과 자료가 없는 총체적난국ㄷㄷㄷrest 서비스를 알아보다가 제가 제일 의아해했던건 같은 요청을 하는데 컨트롤러에서 어떻게 GET 혹은 PATCH 등등으로 받아들이는가... 였습니다. 서버단에서 header를 읽어온다고 해도 웹 브라우저에서 PATCH, DELETE.. 프로그래밍/Spring 2016. 10. 17. 스프링 부트 게시판 만들기3 - JSP 사용하기 관련글 : 스프링 부트로 게시판 만들기1 - 프로젝트 생성스프링 부트로 게시판 만들기2 - MyBatis, MySQL 연동 JSP 사용을 위한 설정 변경스프링 부트를 이용하는 경우 화면을 처리하기 위해서는 기본적으로 JSP가 아닌 템플릿을 이용합니다. 스프링 부트는 JSP가 기본적으로 설정되어 있지 않기 때문에 JSP를 사용하려면 몇 가지 설정이 필요하기 때문에 JSP사용을 위해 설정을 해보도록 할게요. JSP 사용을 위해 두 가지 설정을 변경 해야 합니다. 1) application.properties의 설정 변경, 2) Tomcat 서버의 JSP 설정 변경 application.properties의 설정 변경폴더 구성입니다. 프로젝트 내의 src 폴더내에 main폴더가 있는데 그 안에 webapp/W.. 프로그래밍/Spring 2016. 10. 17. 스프링 부트로 게시판 만들기2 - MyBatis, MySQL연동 관련글 : 스프링 부트로 게시판 만들기1 - 프로젝트 생성 스프링 부트에서 데이터베이스 설정하기 스프링 부트에서 데이터베이스를 설정하기 위해서 라이브러리를 추가해야합니다. 처음 프로젝트를 생성할때도 가능하지만 저는 web만 선택하고 생성했기 때문에 관련 라이브러리를 먼저 추가하겠습니다. 프로젝트내에 있는 build.gradle 파일 아래에 보시면 dependencies가 있습니다. 그 아래에 추가로 작성해주세요. (기존에 dependency 되어 있는 라이브러리를 지우면 안돼요!)12compile('org.springframework.boot:spring-boot-starter-jdbc')compile('mysql:mysql-connector-java')cs 저장 후에 프로젝트 선택 우클릭 - Gradl.. 프로그래밍/Spring 2016. 10. 16. 스프링 부트로 게시판 만들기1 - 프로젝트 생성 스프링 부트는 2014년부터 개발된 스프링의 하위 프로젝트 중 하나입니다. 단독으로 실행이 가능하고(stand-alone), 제품 수준의(production-grade) 스프링 기반 어플리케이션을 제작하는 것을 목표로 진행된 프로젝트입니다. 스프링부트의 주요 기능들은 - 단독 실행이 가능한 수준의 스프링 어플리케이션 제작이 가능 - 내장된 Tomcat, Jetty, UnderTow 등의 서버를 이용해서 별도의 서버를 설치하지 않고 실행이 가능 - 최대한 자동화된 설정을 제공 - XML 설정 없이 단순한 설정 방식을 제공 이러한 특징들을 요약하면 스프링 부트는 '단독으로 빠르게 개발 가능한 스프링 프로젝트' 제작용입니다. 처음 스프링 프레임워크를 사용했을 때 많은 XML파일을 설정해가며 개발을 하던 게 어.. 프로그래밍/Spring 2016. 10. 16. Gradle 다운, 설치하기 이전 포스팅에서 이클립스에 스프링 플러그인을 설치하였고, Spring Boot 웹 프로젝트를 생성하기로 했었는데요. 그전에 Gradle을 먼저 설치하겠습니다. STS에는 그레들이 기본적으로 설치가 되어 있지 않기 때문에 Gradle Support(혹은 Gradle Intergration plugin)을 설치해주어야 합니다. https://gradle.org/gradle-download/에서 Complete distribution을 클릭하여 다운로드 받습니다. 압축을 풀어준 후 환경변수 설정을 해줍니다.제어판 - 시스템 - 고급 시스템 설정 - 환경변수 상단에 스프링 대시보드 아이콘을 클릭하여 대시보드를 띄워준 후 오른쪽 하단에 있는 IDE EXTENSIONS를 선택해줍니다. Find에 gradle를 검색.. 프로그래밍/Spring 2016. 10. 10. 이클립스에 스프링(Spring) 플러그인 설치하기 스프링 프레임워크(Spring Framework) 사용을 위해 이클립스에 스프링 플러그인을 설치하겠습니다. *제가 사용한 이클립스 버전은 MARS.2입니다. 이클립스 상단 메뉴에서 Help - Eclipse Marketplace 선택 Find칸에 sts를 입력하여 검색한 후 Spring Tool Suite(STS) for Eclipse 3.8.2 RELEASE를 Install Confirm 클릭 I accept the terms of the license agreements 를 선택하여 동의한 후 Finish 설치 주우우우우우우웅 이클립스를 다시 실행할까요? -> 넹 ** 이제 이클립스에서 STS를 사용하여 Spring환경으로 개발할 수 있게 되었습니다. 짝짝짝 다음 포스팅에서는 방금 설치한 STS를 이.. 프로그래밍/Spring 2016. 10. 10. REST API의 탄생/구성/특징 등 REST API의 탄생 - REST는 Representational State Transfer라는 용어의 약자로써 2000년도에 로이 필딩(Roy Fielding)의 박사학위 논문에서 최초로 소개되었습니다. 로이 필딩은 HTTP의 주요 저자 중 한사람으로서 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활요할 수 있는 아키텍처로써 REST를 발표했습니다. 왜 REST에 대한 관심을 갖게 되었을까요? - 프론트엔드(Front-End)와 백엔드(Back-End)가 분리되기 시작 - 새로운 서비스 개발을 위해 개발작업 진행 - JSON 형태로 데이터를 제공하는 API를 제공하자고 동의 - RequestMethod(HTTP : GET, POST, .. 프로그래밍 2016. 10. 8. 자바(JAVA) 상속/ 생성자/ SUPER 예약어 상속 - 부모의 유산을 물려받다. - 객체 지향 프로그래밍에서는 부모클래스에 정의된 멤버를 자식클래스가 물려받는다. 즉, 상속을 통해 기존에 있던 클래스(부모클래스)를 이용하여 새로운 클래스(자식클래스)를 만들 수 있습니다. 기존의 클래스를 이용하여 만들어내기 때문에 적은 양의 코드로 새로운 클래스륾 만들 수 있다는 장점이 있습니다. 자바에서 상속을 받게 해주려면, 새로운 클래스 이름 뒤에 extends와 상속받고자 하는 부모클래스 이름을 입력해주면 됩니다. 형식)1234567891011class A{ // A클래스 생성 int x;} class B extends A{ // B클래스 생성 + A클래스를 상속받음 int y;} class C extends B{ // C클래스 생성 + A클래스를 상속받은 B.. 프로그래밍/Java 2016. 10. 6. 미국에서 교환한 노트7이 비행기안에서 발화가 됐다네요. 미국 시간으로 수요일(10월 5일) 아침, 루이스빌에서 출발하는 사우스웨스트 여객기 안에서 노트7이 발화됐습니다.뉴스에 따르면 비행기 이륙전에 노트7의 전원을 끄라는 안내에 따라 전원을 끄는 과정에서 갑자기 노트7이 뜨거워지면서 연기가 나고 불이 붙었다고 하네요. 연기와 불이 나자 비행기안의 승객들은 모두 비상 대피하여 다행히 인명 피해는 없었다군요. 폭발한 노트7의 주인 Brian씨는 이 노트7이 리콜 후 새로 교환받은 것이라고 주장하고 있어서 새로 교환한 배터리도 폭발하는거 아니냐며 미국 언론들은 이야기하고 있습니다. 노트7 폭발 사건 후 삼성은 재빠르게 리콜 결정을 내림으로써 미국내에서 삼성의 이미지는 그런대로 유지가 되는가 싶었는데 교환 후 발화를 하는 문제가 생긴걸 보면 이미지가 꽤 많이 나빠지.. 카테고리 없음 2016. 10. 6. 프레임워크와 라이브러리의 차이점 저는 여태껏 라이브러리는 작은 규모, 프레임워크는 큰 규모 라고 매우 단순하고 틀리게 생각하고 있었는데요. 웹 서핑중 우연히 프레임워크와 라이브러리에 관련된 글을 읽어보고 기억에 남기기 위해 포스팅을 작성해볼게요. 프레임워크와 라이브러리의 차이는 제어 흐름에 대한 주도성이 누구에게/ 어디에 있는가입니다. 라이브러리는 라이브러리를 가져다가 사용하고 호출하지만, 프레임워크는 가져다가 사용한다기 보다는 프레임워크의 틀 안에 들어가서 사용한다는 관점이라고 하네요. 즉, 어플리케이션의 Flow(흐름)을 누가 쥐고 있느냐에 따라 달라지는 거죠. 프레임워크는 전체적인 흐름을 스스로가 쥐고 있고 우리는 그 틀 안에서 필요한 코드를 작성하고 구현을 하는 반면 라이브러리는 사용자가 전체적인 흐름을 구현하며 라이브러리를 가.. 프로그래밍 2016. 10. 1. 자바(JAVA) 인터페이스와 추상클래스의 설명과 예제 추상메서드 정의 : 내용이 없는 메서드, 구현(정의)는 하지 않고 선언만 한 메서드 목적 : 메서드의 내용이 너무 일반적인 내용이라 부모 클래스에서 구체화하여 정의할 필요가 없을 경우, 추상메서드로 선언만하고 상속받은 자식 클래스에서 재정의하도록 할 때 사용 추상클래스(abstract class) 정의 : - 한 개 이상의 추상메서드를 가지는 클래스 - 일반적인 클래스는 세부적이고, 구체적 ex) 고양이과, 개과 - 반면 추상클래스는 일반클래스에 비해 구체적이지 않고 추상적 ex) 고양이, 사자, 강아지 목적 : 추상메서드는 선언만되고 구현이 되지 않은 불완전한 메서드이므로 객체로 생성되어서는 안됩니다. 이런 클래스(추상메서드가 포함된 클래스)는 추상클래스로 선언하여 객체 생성을 금지시킵니다. 추상클래스.. 프로그래밍/Java 2016. 9. 30. 이전 1 ··· 8 9 10 11 12 13 다음 💲 추천 글 반응형