목록Spring Framework (8)
바닥코딩
AOP( Aspect Oriented Programing) 직역하자면 관점 지향 프로그래밍이다 프로그래밍을 하다보면 공통적인 기능이 많이 발생한다 자바나 C# 등 객체지향 프로그래밍을 해본 사람들이라면 이러한 공통기능을 적용하기 위해 상속이라는 개념을 사용하는 것을 알 것입니다. 그렇지만 자바를 공부해본 사람들은 알듯이 자바는 다중 상속이 불가능 합니다. 따라서 이러한 모듈의 기능을 상속받아 공통 기능을 부여하기에는 한계가 존재한다 따라서 Spring에서는 DI가 모듈의 결합도를 낮춰주는 역할을 한다면 AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 해주는 기능을 제공합니다 정리하자면 1. 핵심기능과 공통기능을 분리 시킨다 2. 공통 기능을 필요로 하는 핵심 기능들에서 다시 사용한다 AOP..
Annotation 활용해서 type에 맞게 자동으로 의존성 주입 하는법 먼저 이전의 포스팅 했던 내용과 같이 Man, Woman , 클래스를 만들어 xml 파일에 빈을 추가 해 보겠습니다 package kr.dkkm.spring.di; public interface Gender { public void print_gender(); } Gender interface package kr.dkkm.spring.di; public class Man implements Gender { private String myName; public void setMyName(String myName) { this.myName = myName; } @Override public void print_gender() { // ..
Bean 간단하게 한줄로 요약하자면 자바의 객체입니다. spring container에 의해 자바 객체가 만들어 지게 되면서 이 객체를 스프링 빈이라고 부르게 된것이지만 스프링 빈과 일반 객체와의 차이점은 별다르게 없습니다 그렇지만 Spring container 에서 만들어지는 객체를 스프링 빈이라고 부를 뿐입니다 Spring Bean을 사용하는 이유 그렇다면 자바의 객체를 굳이 bean을 통해 쓰는 이유가 뭐일까 결론부터 이야기 하자면 자주 사용하는 객체를 singleton으로 만들어 놓고 어디서든 불러쓸 수 있도록 한다는 것의 의미가 있습니다 이전 포스팅을 보면 DI(의존성 주입)에 대한 포스팅 내용이 있습니다 의존성 주입은 간단히 말해 모듈간의 결합도를 낮추어 클래스를 수정해야하는 상황을 줄여줍니다..
Mybatis 란? mybatis는 흔히 개발자 사이에서 SQL mapping 프레임워크로 불립니다 개발자들은 JDBC 코드의 복잡성 때문에 코드를 개발하는 데 불픽요한 시간을 투자하는 경우가 많습니다 이를 개선하기 위해 mybatis가 등장했고 mybatis는 데이터 베이스를 관리하는 부분에서 많은 이점을 제공합니다 Mybatis의 장점 자동으로 Connection close() 기능을 제공 Mybatis 내부적으로 PreparedStatement 처리 #{prop}와 같이 속성을 지정하면 내부적으로 자동으로 처리해주는 기능 리턴 타입을 지정하는 경우 자동으로 객체 생성 및 RestSet 처리 Mybatis 사용법 해당 프로젝트는 maven을 사용하고 있기 때문에 mybatis를 따로 설치할 필요는 없..
Oracle 오라클 은 미국 오라클 사의 RDBMS입니다. 현재 기업에서 가장 많이 사용하는 DBMS이기도 하기 때문에 해당 포스팅에서는 oracle db를 스프링 프로젝트에 연동하여 사용할 예정입니다. Oracle 설치 오라클은 대부분 기업에서 많이 사용하는데 코어당 라이센스 비용을 지불해야 하는데, 하지만 일반 프로젝트를 실행하는데 부담 없는 11g Express Edition은 무료이기 떄문에(상업적으로 사용한다면 유료) www.oracle.com Oracle | Integrated Cloud Applications and Platform Services Oracle Cloud Day: Maximize your data’s potential Hear from Oracle cloud visionari..
스프링 프로젝트의 기본 구조 이클립스 또는 sts, inteliJ등을 사용하여 스프링 mvc 프로젝트를 생성하면 위와 같은 디렉터리 구조가 자동으로 생성됩니다 위 구조에 대한 해당사항등을 정리해보면 1. javaresource -> src/main/java = 자바 리소스 디렉토리 자체는 자바 코드에 대한 디렉토리가 되며 src/main/java는 자바로 작성되는 코드의 경로로 주로 사용된다 2. javaresource -> src/main/resource = 프로젝트 내 자바 코드를 실행할떄 참고하는 기본 경로(주로 설정에 관련된 파일들을 이 곳에 넣는다) 3. javaresource -> src/test/java = 테스트 코드를 주로 넣는 경로 4. javaresource -> src/test/re..
maven? maven은 자바 프로젝트의 빌드를 자동화해주는 빌드 툴입니다. 즉 자바 소스를 compile 하고 deploy 하는 과정을 자동화 해주는 것을 의미한는데 빌드를 도와주는 tool 이라고 생각할 수 있습니다.(maven은 IDE에 종속되지 않는다) 자바 프로젝트에 빌드를 자동화해주는 빌드 도구르는 maven뿐만이 아니라 대표적으로 Gradle 이라던가 Ant 같은 도구들이 있지만 가장 많이 사용하는 maven으로 포스팅을 작성하겠습니다. maven 설치 하기 1.maven wrapper apache mave은 위에 설명처럼 자바 프로젝트를 구성하는데 편한 효울성을 제공합니다. 따라서 빌드 시 maven과 같은 도구를 많이 사용하는데 이를 좀 더 쉽게 최신버전을 유지하기 위해 Maven wra..
spring 프레임 워크 스프링이란 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크 입니다 여기서 오픈소스 , 프레임워크 같은 용어는 많이 들어봤지만 정확히 이것이 뭔지 정의 하라면 어렵기 마련이죠, 그래서 이것에 대한 정의를 하면 -오픈 소스(open source) : 소프트 웨어 또는 하드웨어의 제작자의 권리는 지키지만 원시적인 코드를 누구나 열람하고사용할 수 있도록 한 오픈 라이브센스에 준하는 모든 통칭을 일컫습니다. -프레임워크(framework) : 개발을 할 떄 설계의 기본이 되는 뼈대나 구조/환경을 의미합니다 정리하자면 오픈소스를 가져다 쓰기 위한 자바 프레임워크라고 볼 수 있습니다 우리나라의 공공기관의 웹 서비스 개발 시 '전자정부 표준프레임워크'개발을 많이 권장하는데 이 전자정부 프레..