본문 바로가기

728x90
반응형

개발/Spring

스프링 @Autowired @Autowrired 스프링에서는 @Autowired 를 이용해서 개발자가 만든 클래스들의 빈을 직접 자바 코드에서 생성하여 사용합니다. @Autowired 특징 - 기존 XML 파일에서 각각의 빈을 DI 로 주입했던 기능을 코드에서 애너테이션으로 자동으로 수행합니다. - @autowired 를 사용하면 별도의 setter 나 생성자 없이 속성에 빈을 주입할 수 있습니다. [ Controller ] ... // @Controller 를 이용해 Controller 빈을 자동 생성 @Controller("memberController") public class MemberControllerImpl implements MemberController { // @Autowired 를 이용해 Service 빈을 자.. 더보기
스프링 애너테이션(Annotation) 애너테이션 스프링 3.0 부터는 DI 같은 자바 코드와 관련된 설정은 직접 코드에서 할 수 있게 애너테이션(Annotation) 이라는 기능을 제공합니다. 스프링에서 애너테이션을 사용하려면 스프링에서 제공하는 애너테이션 관련 클래스를 XML 설정 파일에서 빈으로 설정해야 합니다. 클래스 기능 DefaultAnnotationHandlerMapping 클래스 레벨에서 @RequestMapping 을 처리합니다. AnnotationMethodHandlerAdapter 메서드 레벨에서 @RequestMapping 을 처리합니다. 태그를 사용해 패키지 이름을 지정하면 애플리케이션 실행 시 해당 패키지에서 애너테이션으로 지정된 클래스를 빈으로 만들어 줍니다. 애너테이션 기능 @Controller 지정한 클래스를 컨.. 더보기
스프링 트랜잭션(Transaction) 트랜잭션 트랜잭션(Transaction)은 여러 개의 DML 명령문을 하나의 논리적인 작업 단위로 묵어서 관리하는 것으로, All 또는 Nothing 방식으로 작업 단위가 처리됩니다. SQL 명령문들이 모두 정상적으로 처리되었다면 모든 작업의 결과를 데이터베이스에 영구 반영(commit) 하지만 그중에 하나라도 잘못된 것이 있으면 모두 취소(rollback) 합니다. 스프링은 트랜잭션 기능을 마이바티스 기능과 연동해서 사용합니다. 트랜잭션 기능은 XML 파일에서 설정하는 방법과 애너테이션을 이용하는 방법이 있습니다. XML 로 설정하는 방법은 설정 파일이 복잡해지면 불편하므로 현재는 애너테이션으로 트랜잭션을 적용하는 방법을 더 선호합니다. [ 트랜잭션 속성 ] 속성 기능 propagaion 트랜잭션 전파.. 더보기
스프링 마이바티스 연동 스프링 마이바티스 연동 XML 스프링 기반 웹 애플리케이션을 개발할 때 마이바티스는 데이터베이스 연동 기능을 담당하기 때문에 스프링에서는 간단한 설정만으로 쉽게 마이바티스를 사용할 수 있습니다. [ web.xml ] ... org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/config/mybatis.xml /WEB-INF/config/service.xml ... [ /config/mybatis.xml ] /WEB-INF/config/jdbc.properties [ /config/service.xml ] ... ... [ /mybatis/model/Config.xml ] 여기까지 임미다. 더보기
마이바티스(Mybatis) 마이바티스 SQL 문이 프로그래밍 코드에 섞여 코드를 복잡하게 만든다는 문제점을 개선해 SQL 문의 가독성을 높여 사용하기 편하게 만든 것이 마이바티스 프레임워크입니다. 마이바티스를 사용하면 복잡한 SQL 문이라도 SQL Developer 같은 도구에서 SQL 문을 사용하는 것처럼 표준화 된 방법으로 사용할 수 있습니다. 마이바티스 프레임워크의 특징은 다음과 같습니다. - SQL 실행 결과를 자바 빈즈 또는 Map 객체에 매핑해주는 Persistense 솔루션으로 관리합니다. SQL 을 코드가 아닌 XML 로 분리합니다. - SQL 문과 프로그래밍 코드를 분리해서 구현합니다. - 데이터소스(DataSource) 기능과 트랜잭션 처리 기능을 제공합니다. 마이바티스 각 설정 파일은 src 아래에 위치해야 합.. 더보기
스프링 JDBC(Java Database Connectivity) 스프링 JDBC JDBC(Java Database Connectivity) 는 자바 데이터 접근 기술의 근간이라 할 정도로 대부분의 개발자가 쉽게 이해할 수 잇어 많이 사용하는 데이터 액세스 기술입니다. 스프링에서 제공하는 JDBC 는 기존 JDBC 의 장점과 단순함을 유지하면서 단점을 보완했을 뿐만 아니라 확장된 JDBC 의 기능도 제공합니다. 실제 개발을 진행할 때는 스프링 JDBC 기능보다는 마이바티스나 하이버네이트 같은 데이터베이스 연동 관련 프레임워크를 사용하지만 스프링 JDBC 의 기본적인 기능을 알아두면 도움이 됩니다. 스프링 JDBC 설정 파일 파일 설명 web.xml ContextloaderListener 를 이용해 빈 설정 XML 파일들을 읽어 들입니다. servlet.xml 스프링에서.. 더보기
스프링 MVC(Model - View - Controller) 스프링 프레임워크 MVC MVC 란 Model - View - Controller 의 약자로 일반 PC 프로그램 개발에 사용되는 디자인 패턴을 웹 애플리케이션에 도입한 것입니다. 웹 애플리케이션을 화면 부분, 요청 부분, 로직 처리 부분으로 나누어 개발하는 방법이죠. MVC 의 특징 - 각 기능이 분리되어 있어 개발 및 유지보수가 편리합니다. - 각 기능의 재사용성이 높아집니다. - 디자이너와 개발자의 작업을 분업화해서 쉽게 개발할 수 있습니다. 스프링은 애플리케이션 개발 시에 많이 사용되는 모델2 기반의 MVC 기능을 제공하므로 편리하게 애플리케이션을 개발할 수 있습니다. 스프링에서 지원하는 MVC 기능 특징 - 모델 2 아키텍처를 지원합니다. - 스프링과 다른 모듈과의 연계가 쉽습니다. - 타일즈(t.. 더보기
스프링 프레임워크란? 스프링 프레임워크(Spring Framework) 애플리케이션 개발 시 일반적인 웹 애플리케이션에서 많이 사용하는 기능은 미리 만들어서 제공하고 그 외에 필요한 부분만 추가 및 수정하는 것입니다. 이렇게 하면 훨씬 효율적일 뿐만 아니라 일정한 형식에 따라 개발을 진행하므로 표준화가 이루어져 생산성도 높일 수 있습니다. 프레임워크(Framework)의 사전적 의미는 "어떤 것을 구성하는 구조 또는 뼈대" 입니다. 소프트웨어적 의미로는 "기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품" 으로 해석할 수 있습니다. 현실에서 예를 들어본다면 자동차를 예를 들었을 때 자동차 타이어가 펑크나거나 기타 부품들이 고장나면 자동체 전체를 바꾸는 것이 아니라 타이어나 고장난 부품만 갈아끼우면 되는 형태가 되.. 더보기