스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

728x90

1. 스프링의 이해

 1.1) 스프링 정의

   - 간단히 스프링이라 지칭하지만 정확하게는 스프링 프레임워크 (Spring Framework) 라고 하는 것이 정확한 표현.'

 

  * 자바(JAVA) 플랫폼을 위한 오픈소스(Open Source) 애플리케이션 프레임워크(Framework)
  * 자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크
  * 자바 개발을 위한 프레임워크로 종속 객체를 생성해주고,  조립해주는 도구
  * 자바로 된 프레임워크로 자바SE로 된 자바 객체(POJO)를 자바EE에 의존적이지 않게 연결해주는 역할.

 

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

 

 

 - POJO 란 Plain Old Java Object 의 약자로 특별한 뜻을 담고 있는 용어는 아니며, 단순히 평범한 자바빈즈(Javabeans) 객체를 의미함.

 

 

- 참고 -

 

JAVA : JAVA 개발 언어

Open Source : 소프트웨어 혹은 하드웨어의 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어 혹은 오픈 소스 라이선스에 준하는 모든 통칭을 일컫는다. (소스가 공개되어 여러 개발자가 플랫폼을 함께 개발, 구축, 보완해 나가는 시스템. )

Framework : 개발할 때 설계 기본이 되는 뼈대나 구조 / 환경 (문제 영역을 해결한 재사용, 확장 가능한 라이브러리.)

POJO : http://ko.wikipedia.org/wiki/Plain_Old_Java_Object

 

 

 1.2) 스프링 특징

 * 크기와 부하의 측면에서 경량.

 * 제어 역행(IoC)이라는 기술을 통해 애플리케이션의 느슨한 결합을 도모.

 * 관점지향(AOP) 프로그래밍을 위한 풍부한 지원을 함.

 * 애플리케이션 객체의 생명 주기와 설정을 포함하고 관리한다는 점에서 일종의 컨테이너(Container)라고 할 수 있음.

 * 간단한 컴포넌트로 복잡한 애플리케이션을 구성하고 설정할 수 있음.

 

 

- 스프링의 특징을 좀 더 상세히 말하자면 -

1) 경량 컨테이너로서 자바 객체를 직접 관리.

    각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
2) 스프링은 POJO(Plain Old Java Object) 방식의 프레임워크.

   일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리

   등을 지원하기에 용이하고 객체가 가볍다.
3) 스프링은 제어 반전(IoC : Inversion of Control)을 지원.

   컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다.
4) 스프링은 의존성 주입(DI : Dependency Injection)을 지원

   각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
5) 스프링은 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)을 지원

   따라서 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있다.
6) 스프링은 영속성과 관련된 다양한 서비스를 지원

   iBatis나 Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다.
7) 스프링은 확장성이 높음.

   스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로 스프링에서 사용이 가능하기 때문에 수많은 라이브러리

   가 이미 스프링에서 지원되고 있고 스프링에서 사용되는 라이브러리를 별도로 분리하기도 용이하다.

 

출처 :http://ko.wikipedia.org/wiki/%EC%8A%A4%ED%94%84%EB%A7%81_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

 

 

 

JSP/SERVLET

HOME > JAVA > J2EE > JSP/SERVLET

2020.10.02 / 12:56

(�ʱ�)�Ϻ��ϰ� �����ϴ� �Խ��� �ҽ� ��ũ( Spring 4 + MyBatis 3 + Oracle )

�߼�����

��õ �� 98



https://github.com/wodnr4330/board_sample_oracle


�����ϼ���.


���� ������ 3�� �� �Դϴ�.


���α׷��� ����� WPF, �ڹ�, MySQL �� �־ ���ذ� �����׿�.


���� ���¼ҽ��� ������ ���ؼ� ���� �⿩�� �ؾ߰ڽ��ϴ�.


���ݸ� ��ٷ� �ּ���.

< Prev jsp ����ȯ�� UTF-8�� �����ϱ�

�̳ʳ� �׽�Ʈ���Դϴ� Next >

��

��õ

÷������

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu
board_sample_oracle-master.zip

���


스프링(STS) 4버전은 기본적으로 스프링 부트를 사용하는데, 여기서는 스프링 레거시를 사용할 예정이므로 그 하위 버전인 스프링(STS) 3버전이 필요합니다. 스프링(STS) 4버전에서도 스프링 레거시를 사용할 수 있으나 추가적인 설치를 필요로하기 때문에, 설치 없이 사용할 수 있는 스프링(STS) 3버전을 사용하겠습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

스크롤을 가장 아래로 내리면, 스프링(STS) 3버전의 페이지로 이동하는 링크가 있습니다. 이 링크를 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

스크롤을 조금 내리면, 스프링(STS) 3버전의 모든 버전을 볼 수 있는 See all version 링크를 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

OS에 맞는 스프링(STS)를 다운로드 받습니다.

저는 윈도우 10 64비트를 이용하니, 그에 맞는 스프링(STS)를 다운로드 받겠습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

다운로드가 완료되었습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

적당한 폴더에 압축을 해제합니다.

저는 D드라이브의 board 폴더에 압축을 해제했습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

sts-bundle\sts-3.9.9.RELEASE 내부에 STS파일이 실행 파일입니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

바탕화면에 바로가기를 만들어놓고, 이름을 적당히 바꿔줍니다.

저는 1개의 프로젝트당 1개의 스프링(STS)을 사용하다보니 이름을 프로젝트명으로 했습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

이제 프로그램을 실행하고, 프로젝트가 저장될 경로를 정해줍니다. 저는 위에서 만들었던 board 폴더 하위에 workspace라는 폴더를 생성하여 지정했습니다.

이 스프링(STS)으로는 게시판만 만들것이니, Use this as the default and do not ask again을 체크합니다. 체크하게되면 경로를 다시 물어보지 않습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

스프링(STS)가 실행된 화면입니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

좌측 상단의 File → New → Project를 선택합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

spring으로 검색하면 쉽게 Spring Legacy Project(스프링 레거시 프로젝트)를 선택할 수 있습니다. Spring Legacy Project를 선택하고 다음(Next) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

Project Name(프로젝트 네임)을 입력합니다. 저는 board로 입력했습니다.

Templates(템플릿)은 Spring MVC Project(스프링 MVC 프로젝트)를 선택하고 다음(Next) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

최상위 패키지를 입력하고 완료(Finish) 버튼을 클릭합니다. 저는 com.board.controller로 입력했습니다.

최상위 패키지는 [최상위 도메인].[회사명 또는 프로젝트명].[대표 패키지 또는 애플리케이션명]으로 구성됩니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

프로젝트가 생성되었습니다. 우측 하단을 보면 워크스페이스를 구성하고 있습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

모든 구성이 완료되었습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

스프링(STS)의 기본적인 설정을 하겠습니다.

상단 메뉴에서 Window → Preferences를 선택합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

General → Workspace에서 Text file encoding를 UTF-8로 변경하고 적용 및 닫기(Apply and Close) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

프로젝트를 한번 클릭 한 뒤, 상단 메뉴에서 Project → Properties를 선택합니다. 프로젝트를 우클릭하고 Properties를 선택해도 됩니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

Resource에서 Text file encoding 에서 UTF-8로 되어있는지 확인합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

Project Facets에서 Java의 버전을 1.8로 변경한 뒤 적용 및 닫기(Apply and Close) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

src → main → webapp → WEB-INF → web.xml파일을 열고, </web-app> 위에 코드를 추가합니다.

<!--  문자 인코딩  시작 -->
<filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>
    org.springframework.web.filter.CharacterEncodingFilter
  </filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
  <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>true</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
<!--  문자 인코딩  끝 -->

문자 인코딩을 UTF-8로 변경하는 코드입니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

src → main → webapp → WEB-INF → views → home.jsp 파일을 열고 <html>위에 코드를 추가합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

현재 페이지의 인코딩을 UTF-8로 변경하는 코드입니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

pom.xml파일을 열고, 하단 탭에서 pom.xml을 선택합니다.

현재 pom.xml에서는 Java의 버전이 1.6, Spring Framework(스프링 프레임워크)의 버전이 3.1.1로 되어있습니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

Java의 버전을 1.8, Spring Framework(스프링 프레임워크)의 버전을 4.3.8로 변경합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

스프링(STS)의 좌측 하단에 있던 Servers윈도우에 우클릭을 한 뒤, New → Server를 선택합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

Tomacat v8.5로 검색하면 바로 나와서 찾기 쉽습니다. Tomcat v8.5를 선택하고 다음(Next) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

Tomcat 8.5가 설치된 경로를 입력하고 다음(Next) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

현재 서버를 사용할 프로젝트를 설정합니다.

프로젝트를 선택하고 추가(Add) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

프로젝트가 좌측에서 우측으로 이동했습니다. 완료(Finish) 버튼을 클릭합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

상단 메뉴에서 Window → Web Browser → Chrome을 선택합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

이제 프로젝트를 시작해보겠습니다.

프로젝트를 우클릭하고 Run As → Run on Server를 선택합니다.

스프링 게시판 오픈 소스 - seupeuling gesipan opeun soseu

Tomcat 서버가 선택되어있을텐데 선택되어있지 않다면 선택해줍니다. 이 프로젝트는 항상 톰캣 서버로만 실행할 예정이므로 하단의 Always use this server when running this project에 체크를 한 뒤 완료(Finish) 버턴을 클릭합니다.