본문 바로가기
IT/Spring

스프링의 특징(Spring)

by Jeami 2013. 6. 24.
반응형



아래 화면과 같이 겁색창에 입력하신 후 검색을 클릭하시면, 노란색 표시부분의 홈페이지가 나옵니다.


Spring 홈페이지 첫화면입니다.

Framework Spring


--------------------------------------------------------------------------------

우선, 스프링에 관한 책이 전무해서 인터넷 검색으로 통해서 공부해야만 하는 분들은 Google.com에서 위키백과를 먼저 참조해보시는 것이 좋을 것 같습니다. 생소한 단어는 많지만, 개념정리가 확실히 잘 되어있는 느낌이거든요.


아래 화면의 노란색 표시 부분 클릭해주세요.


아래 화면은 위키백과 홈페이지로 이동한 모습입니다.

이곳에서 전체적인 내용을 살펴보시면 도움이 많이 되실거라고 생각합니다.


우선, 전반적인 개념부터 살펴보도록 하겠는데요. 시중에 나와있는 여러가지 책이나 인터넷 사이트를 돌아다니다보면 쉽게 그 내용을 접할 수 있습니다. 아래와 같이 몇 가지로 나뉘어서 볼 수 있겠는데요.

1. 로드존슨이란 사람이 보험이나 금융실무 일을 하면서 EJE를 사용하면서 시작되었습니다. 

2. 스프링은 초경량컨테이너로서, 

web서버와 DB서버를 따로 만들어줍니다. 그리고 DB처리 관련된 원격서버를 생성해주는데,

Web서버 + DB서버 + DB처리관련원격서버(웹로직) 이렇게 구성되어 있고,

Web서버 + DB서버 + DB처리관련원격서버(스피링으로 대체)

Spring으로 대체해줌으로써 골격이 완성됩니다.

3. Spring은 영속성유지에 적합한데요. iBatis + Struts2 + hibenate + 그외 틀의 연결이 용이합니다.

4. AOP 관점 지향 언어의 특징을 갖습니다.

5. "DI = Dependence Inject, Ioc=Inversion of control = 역전의 제어" 와 같은 구조를 갖습니다.

6. 설정관련 파일로는 struts.xml     SqlMapConfig.xml     web.xml     BoardFrontController.java 연결

   struts.properties 형태로서, applicationContext.xml 문서 등에 연결을 설정 시켜줍니다.



문서 연결 순서를 한번 살펴보겠습니다.

Dao.java = BoardDaoImp.java 클래스를 통해 =+> Board.xml로 접근합니다. ==> Board.xml=Query.xml

BoardDaoImp.jsava 에서 Board.xml로 접근하는 것입니다.


상속받는 예로서는,

interface BoardDao{ 이 부분에는 명세, 목록 등의 함수선언만 해줍니다.}

class BoardDaoImp 상속 1개 implements BoardDao {

public void dbInsert() { 구현 처리했는데 호출로 interface 시킵니다. }

}

class InsertAction에서 상속을 받지 않습니다. { 

private BoardDao boardDao 필드선언 후 boardDao.dbInsert() 메소드를 접근합니다.

 }


<bean id="boardDao" calss="board.BoardDaoImo" scope="prototype"> 이런식으로 설정해주면서 들어갑니다. 여기서 scope="prototype" 부분이 스프링의 시작이라고 생각하면 좋을 것 같습니다. 스프링만의 특징인 것이죠.

=========== 위의 내용... 무슨 말인지 하나도 모르겠습니다... 다시 정리가 필요해보이네요.===========


앞으로 살펴볼 Framework Spring의 핵심 개념용어는 아래와 같습니다.

제어 반전(IoC;Inversion of Control) 컨테이너

스프링의 가장 중요하고 핵심적인 기능으로서 자바의 Reflection을 이용해서 객체의 생명주기를 관리하고 의존성 주입(Dependency Injection)을 통해 각 계층이나 서비스들간의 의존성을 맞춰준다. 이러한 기능들은 주로 환경설정을 담당하는 XML 파일에 의해 설정되고 수행된다.

관점 지향 프로그래밍(AOP) 프레임워크

스프링은 로깅이나 보안, 트랜잭션 등 핵심적인 비즈니스 로직과 관련이 없으나 여러 곳에서 공통적으로 쓰이는 기능들을 분리하여 개발하고 실행 시에 서로 조합할 수 있는 관점 지향 프로그래밍(AOP)을 지원한다. 기존에 널리 사용되고 있는 강력한 관점 지향 프로그래밍 프레임워크인 AspectJ도 내부적으로 사용할 수 있으며, 스프링 자체적으로 지원하는 실행시(Runtime)에 조합하는 방식도 지원한다.

데이터 액세스 프레임워크

스프링은 데이터베이스에 접속하고 자료를 저장 및 읽어오기 위한 여러 가지 유명한 라이브러리, 즉 JDBC, iBatis(MyBatis), Hibernate 등에 대한 지원 기능을 제공하여 데이터베이스 프로그램밍을 쉽게 사용할 수 있다.

트랜잭션 관리 프레임워크

스프링은 추상화된 트랜잭션 관리를 지원하며 XML 설정파일 등을 이용한 선언적인 방식 및 프로그래밍을 통한 방식을 모두 지원한다.

모델-뷰-컨트롤러(MVC) 프레임워크

스프링은 웹 프로그램밍 개발 시 거의 표준적인 방식인 Spring MVC라 불리는 모델-뷰-컨트롤러 프레임워크를 제공한다. DispatcherServlet이 Contoller 역할을 담당하여 각종 요청을 적절한 서비스에 분산시켜주며 이를 각 서비스들이 처리를 하여 결과를 생성하고 그 결과는 다양한 형식의 View 서비스들로 화면에 표시될 수 있다.

배치 프레임워크스프링

특정 시간대에 실행하거나 대용량의 자료를 처리하는데 쓰이는 일괄 처리(Batch Processing)을 지원하는 배치 프레임워크를 제공한다.

(위키백과 참조)



반응형

'IT > Spring' 카테고리의 다른 글

DB Connection의 독립  (0) 2013.06.28
DAO의 분리  (0) 2013.06.28
오브젝트  (0) 2013.06.25
Spring(스프링)이란 무엇인가?  (0) 2013.06.24

loading