Skip to content

Spring

Spring Framework Packages

  • org.springframework.aop
  • org.springframework.aop.aspectj
  • org.springframework.aop.aspectj.annotation
  • org.springframework.aop.aspectj.autoproxy
  • org.springframework.aop.config
  • org.springframework.aop.framework
  • org.springframework.aop.framework.adapter
  • org.springframework.aop.framework.autoproxy
  • org.springframework.aop.framework.autoproxy.target
  • org.springframework.aop.interceptor
  • org.springframework.aop.scope
  • org.springframework.aop.support
  • org.springframework.aop.support.annotation
  • org.springframework.aop.target
  • org.springframework.aop.target.dynamic
  • org.springframework.asm
  • org.springframework.beans
  • org.springframework.beans.annotation
  • org.springframework.beans.factory
  • org.springframework.beans.factory.access
  • org.springframework.beans.factory.access.el
  • org.springframework.beans.factory.annotation
  • org.springframework.beans.factory.aspectj
  • org.springframework.beans.factory.config
  • org.springframework.beans.factory.groovy
  • org.springframework.beans.factory.parsing
  • org.springframework.beans.factory.serviceloader
  • org.springframework.beans.factory.support
  • org.springframework.beans.factory.wiring
  • org.springframework.beans.factory.xml
  • org.springframework.beans.propertyeditors
  • org.springframework.beans.support
  • org.springframework.cache
  • org.springframework.cache.annotation
  • org.springframework.cache.aspectj
  • org.springframework.cache.concurrent
  • org.springframework.cache.config
  • org.springframework.cache.ehcache
  • org.springframework.cache.guava
  • org.springframework.cache.interceptor
  • org.springframework.cache.jcache
  • org.springframework.cache.jcache.config
  • org.springframework.cache.jcache.interceptor
  • org.springframework.cache.support
  • org.springframework.cache.transaction
  • org.springframework.cglib
  • org.springframework.cglib.core
  • org.springframework.context
  • org.springframework.context.access
  • org.springframework.context.annotation
  • org.springframework.context.annotation.aspectj
  • org.springframework.context.config
  • org.springframework.context.event
  • org.springframework.context.expression
  • org.springframework.context.i18n
  • org.springframework.context.support
  • org.springframework.context.weaving
  • org.springframework.core
  • org.springframework.core.annotation
  • org.springframework.core.convert
  • org.springframework.core.convert.converter
  • org.springframework.core.convert.support
  • org.springframework.core.env
  • org.springframework.core.io
  • org.springframework.core.io.support
  • org.springframework.core.serializer
  • org.springframework.core.serializer.support
  • org.springframework.core.style
  • org.springframework.core.task
  • org.springframework.core.task.support
  • org.springframework.core.type
  • org.springframework.core.type.classreading
  • org.springframework.core.type.filter
  • org.springframework.dao
  • org.springframework.dao.annotation
  • org.springframework.dao.support
  • org.springframework.ejb.access
  • org.springframework.ejb.config
  • org.springframework.ejb.interceptor
  • org.springframework.expression
  • org.springframework.expression.common
  • org.springframework.expression.spel
  • org.springframework.expression.spel.ast
  • org.springframework.expression.spel.standard
  • org.springframework.expression.spel.support
  • org.springframework.format
  • org.springframework.format.annotation
  • org.springframework.format.datetime
  • org.springframework.format.datetime.joda
  • org.springframework.format.datetime.standard
  • org.springframework.format.number
  • org.springframework.format.support
  • org.springframework.http
  • org.springframework.http.client
  • org.springframework.http.client.support
  • org.springframework.http.converter
  • org.springframework.http.converter.feed
  • org.springframework.http.converter.json
  • org.springframework.http.converter.protobuf
  • org.springframework.http.converter.support
  • org.springframework.http.converter.xml
  • org.springframework.http.server
  • org.springframework.instrument
  • org.springframework.instrument.classloading
  • org.springframework.instrument.classloading.glassfish
  • org.springframework.instrument.classloading.jboss
  • org.springframework.instrument.classloading.tomcat
  • org.springframework.instrument.classloading.weblogic
  • org.springframework.instrument.classloading.websphere
  • org.springframework.jca.cci
  • org.springframework.jca.cci.connection
  • org.springframework.jca.cci.core
  • org.springframework.jca.cci.core.support
  • org.springframework.jca.cci.object
  • org.springframework.jca.context
  • org.springframework.jca.endpoint
  • org.springframework.jca.support
  • org.springframework.jca.work
  • org.springframework.jca.work.glassfish
  • org.springframework.jca.work.jboss
  • org.springframework.jdbc
  • org.springframework.jdbc.config
  • org.springframework.jdbc.core
  • org.springframework.jdbc.core.metadata
  • org.springframework.jdbc.core.namedparam
  • org.springframework.jdbc.core.simple
  • org.springframework.jdbc.core.support
  • org.springframework.jdbc.datasource
  • org.springframework.jdbc.datasource.embedded
  • org.springframework.jdbc.datasource.init
  • org.springframework.jdbc.datasource.lookup
  • org.springframework.jdbc.object
  • org.springframework.jdbc.support
  • org.springframework.jdbc.support.incrementer
  • org.springframework.jdbc.support.lob
  • org.springframework.jdbc.support.nativejdbc
  • org.springframework.jdbc.support.rowset
  • org.springframework.jdbc.support.xml
  • org.springframework.jms
  • org.springframework.jms.annotation
  • org.springframework.jms.config
  • org.springframework.jms.connection
  • org.springframework.jms.core
  • org.springframework.jms.core.support
  • org.springframework.jms.listener
  • org.springframework.jms.listener.adapter
  • org.springframework.jms.listener.endpoint
  • org.springframework.jms.remoting
  • org.springframework.jms.support
  • org.springframework.jms.support.converter
  • org.springframework.jms.support.destination
  • org.springframework.jmx
  • org.springframework.jmx.access
  • org.springframework.jmx.export
  • org.springframework.jmx.export.annotation
  • org.springframework.jmx.export.assembler
  • org.springframework.jmx.export.metadata
  • org.springframework.jmx.export.naming
  • org.springframework.jmx.export.notification
  • org.springframework.jmx.support
  • org.springframework.jndi
  • org.springframework.jndi.support
  • org.springframework.lang
  • org.springframework.mail
  • org.springframework.mail.javamail
  • org.springframework.messaging
  • org.springframework.messaging.converter
  • org.springframework.messaging.core
  • org.springframework.messaging.handler
  • org.springframework.messaging.handler.annotation
  • org.springframework.messaging.handler.annotation.support
  • org.springframework.messaging.handler.invocation
  • org.springframework.messaging.simp
  • org.springframework.messaging.simp.annotation
  • org.springframework.messaging.simp.annotation.support
  • org.springframework.messaging.simp.broker
  • org.springframework.messaging.simp.config
  • org.springframework.messaging.simp.stomp
  • org.springframework.messaging.simp.user
  • org.springframework.messaging.support
  • org.springframework.messaging.tcp
  • org.springframework.messaging.tcp.reactor
  • org.springframework.mock.env
  • org.springframework.mock.http
  • org.springframework.mock.http.client
  • org.springframework.mock.jndi
  • org.springframework.mock.staticmock
  • org.springframework.mock.web
  • org.springframework.mock.web.portlet
  • org.springframework.orm
  • org.springframework.orm.hibernate3
  • org.springframework.orm.hibernate3.annotation
  • org.springframework.orm.hibernate3.support
  • org.springframework.orm.hibernate4
  • org.springframework.orm.hibernate4.support
  • org.springframework.orm.jdo
  • org.springframework.orm.jdo.support
  • org.springframework.orm.jpa
  • org.springframework.orm.jpa.persistenceunit
  • org.springframework.orm.jpa.support
  • org.springframework.orm.jpa.vendor
  • org.springframework.oxm
  • org.springframework.oxm.castor
  • org.springframework.oxm.config
  • org.springframework.oxm.jaxb
  • org.springframework.oxm.jibx
  • org.springframework.oxm.mime
  • org.springframework.oxm.support
  • org.springframework.oxm.xmlbeans
  • org.springframework.oxm.xstream
  • org.springframework.remoting
  • org.springframework.remoting.caucho
  • org.springframework.remoting.httpinvoker
  • org.springframework.remoting.jaxws
  • org.springframework.remoting.rmi
  • org.springframework.remoting.soap
  • org.springframework.remoting.support
  • org.springframework.scheduling
  • org.springframework.scheduling.annotation
  • org.springframework.scheduling.aspectj
  • org.springframework.scheduling.commonj
  • org.springframework.scheduling.concurrent
  • org.springframework.scheduling.config
  • org.springframework.scheduling.quartz
  • org.springframework.scheduling.support
  • org.springframework.scripting
  • org.springframework.scripting.bsh
  • org.springframework.scripting.config
  • org.springframework.scripting.groovy
  • org.springframework.scripting.jruby
  • org.springframework.scripting.support
  • org.springframework.stereotype
  • org.springframework.test
  • org.springframework.test.annotation
  • org.springframework.test.context
  • org.springframework.test.context.jdbc
  • org.springframework.test.context.junit4
  • org.springframework.test.context.junit4.statements
  • org.springframework.test.context.support
  • org.springframework.test.context.testng
  • org.springframework.test.context.transaction
  • org.springframework.test.context.util
  • org.springframework.test.context.web
  • org.springframework.test.jdbc
  • org.springframework.test.util
  • org.springframework.test.web
  • org.springframework.test.web.client
  • org.springframework.test.web.client.match
  • org.springframework.test.web.client.response
  • org.springframework.test.web.servlet
  • org.springframework.test.web.servlet.request
  • org.springframework.test.web.servlet.result
  • org.springframework.test.web.servlet.setup
  • org.springframework.transaction
  • org.springframework.transaction.annotation
  • org.springframework.transaction.aspectj
  • org.springframework.transaction.config
  • org.springframework.transaction.interceptor
  • org.springframework.transaction.jta
  • org.springframework.transaction.support
  • org.springframework.ui
  • org.springframework.ui.context
  • org.springframework.ui.context.support
  • org.springframework.ui.freemarker
  • org.springframework.ui.jasperreports
  • org.springframework.ui.velocity
  • org.springframework.util
  • org.springframework.util.backoff
  • org.springframework.util.comparator
  • org.springframework.util.concurrent
  • org.springframework.util.xml
  • org.springframework.validation
  • org.springframework.validation.annotation
  • org.springframework.validation.beanvalidation
  • org.springframework.validation.support
  • org.springframework.web
  • org.springframework.web.accept
  • org.springframework.web.bind
  • org.springframework.web.bind.annotation
    • org.springframework.web.bind.annotation.RequestMapping
    • org.springframework.web.bind.annotation.RequestParam
    • org.springframework.web.bind.annotation.PathVariable
    • org.springframework.web.bind.annotation.CookieValue
    • org.springframework.web.bind.annotation.RequestHeader
  • org.springframework.web.bind.annotation.support
  • org.springframework.web.bind.support
  • org.springframework.web.client
  • org.springframework.web.client.support
  • org.springframework.web.context
  • org.springframework.web.context.request
  • org.springframework.web.context.request.async
  • org.springframework.web.context.support
  • org.springframework.web.filter
  • org.springframework.web.jsf
  • org.springframework.web.jsf.el
  • org.springframework.web.method
  • org.springframework.web.method.annotation
  • org.springframework.web.method.support
  • org.springframework.web.multipart
  • org.springframework.web.multipart.commons
  • org.springframework.web.multipart.support
  • org.springframework.web.portlet
  • org.springframework.web.portlet.bind
  • org.springframework.web.portlet.bind.annotation
  • org.springframework.web.portlet.context
  • org.springframework.web.portlet.handler
  • org.springframework.web.portlet.multipart
  • org.springframework.web.portlet.mvc
  • org.springframework.web.portlet.mvc.annotation
  • org.springframework.web.portlet.util
  • org.springframework.web.servlet
  • org.springframework.web.servlet.config
  • org.springframework.web.servlet.config.annotation
  • org.springframework.web.servlet.handler
  • org.springframework.web.servlet.i18n
  • org.springframework.web.servlet.mvc
  • org.springframework.web.servlet.mvc.annotation
  • org.springframework.web.servlet.mvc.condition
  • org.springframework.web.servlet.mvc.method
  • org.springframework.web.servlet.mvc.method.annotation
  • org.springframework.web.servlet.mvc.multiaction
  • org.springframework.web.servlet.mvc.support
  • org.springframework.web.servlet.resource
  • org.springframework.web.servlet.support
  • org.springframework.web.servlet.tags
  • org.springframework.web.servlet.tags.form
  • org.springframework.web.servlet.theme
  • org.springframework.web.servlet.view
  • org.springframework.web.servlet.view.document
  • org.springframework.web.servlet.view.feed
  • org.springframework.web.servlet.view.freemarker
  • org.springframework.web.servlet.view.groovy
  • org.springframework.web.servlet.view.jasperreports
  • org.springframework.web.servlet.view.json
  • org.springframework.web.servlet.view.tiles2
  • org.springframework.web.servlet.view.tiles3
  • org.springframework.web.servlet.view.velocity
  • org.springframework.web.servlet.view.xml
  • org.springframework.web.servlet.view.xslt
  • org.springframework.web.socket
  • org.springframework.web.socket.adapter
  • org.springframework.web.socket.adapter.jetty
  • org.springframework.web.socket.adapter.standard
  • org.springframework.web.socket.client
  • org.springframework.web.socket.client.jetty
  • org.springframework.web.socket.client.standard
  • org.springframework.web.socket.config
  • org.springframework.web.socket.config.annotation
  • org.springframework.web.socket.handler
  • org.springframework.web.socket.messaging
  • org.springframework.web.socket.server
  • org.springframework.web.socket.server.jetty
  • org.springframework.web.socket.server.standard
  • org.springframework.web.socket.server.support
  • org.springframework.web.socket.sockjs
  • org.springframework.web.socket.sockjs.client
  • org.springframework.web.socket.sockjs.frame
  • org.springframework.web.socket.sockjs.support
  • org.springframework.web.socket.sockjs.transport
  • org.springframework.web.socket.sockjs.transport.handler
  • org.springframework.web.socket.sockjs.transport.session
  • org.springframework.web.util

스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.

Modules

스프링에서 사용되는 주요 모듈은 다음과 같다.

제어 반전 컨테이너
제어 반전(IoC: Inversion of Control) 컨테이너는 스프링의 가장 중요하고 핵심적인 기능으로서 자바의 반영(reflection)을 이용해서 객체의 생명주기를 관리하고 의존성 주입(Dependency Injection)을 통해 각 계층이나 서비스들간의 의존성을 맞춰준다. 이러한 기능들은 주로 환경설정을 담당하는 XML 파일에 의해 설정되고 수행된다.
관점 지향 프로그래밍 프레임워크
스프링은 로깅이나 보안, 트랜잭션 등 핵심적인 비즈니스 로직과 관련이 없으나 여러 곳에서 공통적으로 쓰이는 기능들을 분리하여 개발하고 실행 시에 서로 조합할 수 있는 관점 지향 프로그래밍(AOP)을 지원한다. 기존에 널리 사용되고 있는 강력한 관점 지향 프로그래밍 프레임워크인 AspectJ도 내부적으로 사용할 수 있으며, 스프링 자체적으로 지원하는 실행시(Runtime)에 조합하는 방식도 지원한다.
데이터 액세스 프레임워크
스프링은 데이터베이스에 접속하고 자료를 저장 및 읽어오기 위한 여러 가지 유명한 라이브러리, 즉 JDBC, iBatis(MyBatis), Hibernate 등에 대한 지원 기능을 제공하여 데이터베이스 프로그래밍을 쉽게 사용할 수 있다.
트랜잭션 관리 프레임워크
스프링은 추상화된 트랜잭션 관리를 지원하며 XML 설정파일 등을 이용한 선언적인 방식 및 프로그래밍을 통한 방식을 모두 지원한다.
모델-뷰-컨트롤러 패턴
스프링은 웹 프로그램밍 개발 시 거의 표준적인 방식인 Spring MVC라 불리는 모델-뷰-컨트롤러(MVC) 패턴을 사용한다. DispatcherServlet이 Contoller 역할을 담당하여 각종 요청을 적절한 서비스에 분산시켜주며 이를 각 서비스들이 처리를 하여 결과를 생성하고 그 결과는 다양한 형식의 View 서비스들로 화면에 표시될 수 있다.
배치 프레임워크
스프링은 특정 시간대에 실행하거나 대용량의 자료를 처리하는데 쓰이는 일괄 처리(Batch Processing)을 지원하는 배치 프레임워크를 제공한다. 기본적으로 스프링 배치는 Quartz 기반으로 동작합니다.

Category

Projects

Classes

Annotations

Tutorial

Spring 3 + maven2 + Google App Engine: Part 1 ~ 6

  1. Initial Project Setup: Spring3_maven2_gae_part1.pdf)
  2. POM Setup: Spring3_maven2_gae_part2.pdf)
  3. Spring Setup: Spring3_maven2_gae_part3.pdf)
  4. Deployment: Spring3_maven2_gae_part4.pdf)
  5. Unit test: Spring3_maven2_gae_part5.pdf)
  6. Integration Testing using HttpUnit: Spring3_maven2_gae_part6.pdf)

See also

Favorite site

Tutorial site

Guide site

TDD

References


  1. Spring_3_-_Hello_world_operation_principle.pdf 

  2. Google_app_engine_and_spring3_mvc_rest_example.pdf 

  3. Spring_first_step.pdf 

  4. Spring3_mvc_hello_world.pdf 

  5. Spring_mvc_export_war.pdf