자바 공부/[자바] 기본 공부

[SPRING] 스프링 프레임워크 기초

햅2024 2024. 12. 10. 20:59

1. spring framework 는 어렵다?

  • 기능이 많은 좋은 장비를 샀다?
  • 매뉴얼을 공부하는 과정이 있는 것은 당연.
    -> 어려운데 가장 많이 쓰이는 이유가 분명히 있음

2. 프레임워크

  • 소프트웨어 개발은 분석 > 설계 > 개발
  • 건축과 소프트웨어 개발은 유사성이 많다
  • 정의 : 뼈대나 근간을 이루는 코드들의 묶음
  • 왜 사용하는가?
    • 개발자들의 개인별 능력차가 크고, 개발자들의 구성에 따라 프로젝트의 성패가 좌우
      이런 상황을 극복하기 위한 코드의 결과물이 프레임워크 프로그램의 기본적인 흐름이나 구조가 정해져있고 자신의 코드를 추가하는 방식으로 개발.
  • 프레임 워크의 장점
    • 개발에 필요한 구조를 이미 코드로 구현
    • 실력이 부족한 개발자여도 일정 부분 완성된 상태에서 필요한 부분을 조합하는 형태의 개발이 가능
    • 기업 : 일정한 품질의 결과물을 기대함
    • 개발자 : 완성된 구조에 자신의 코드를 개발하므로 개발 시간이 단축

3. 웹 개발의 역사

  • Http 통신으로 정적 데이터만 전송
  • 동적으로 페이지를 보여줄 수 있는 CGI 등장
  • 자바버전 CGI 라고 불리는 서블릿 등장
  • 서블릿의 html 작성 방식의 불편함을 줄인 JSP(Java Server Page)의 등장
  • 자바로 기업 환경의 어플리케이션을 만드는 데 필요한 스펙들을 모아둔 J2EE(후에 Java EE로 개칭) 등장
    • J2EE는 너무 많은 기술, 다양한 스펙의 집합체
    • 특히 대규모 분산처리 시스템을 구축하는 EJB(Enterpries Java Beans)는 너무 복잡
    • 서비스의 비즈니스 로직을 구현하는 것보다 EJB 컨테이너를 사용하기 위해 설정하는 시간이 더 오래 걸린다.
    • 개발 시간보다 환경 구축에 더 많은 시간이 소요됨
      -> 개발 시간보다 환경 구축에 더 많은 시간이 소요되어 EJB 사용이 대세였떤 이 기간을 winter라고 부름
  • Spring
    • EJB의 통치 기간을 Winter로 비유하면서 지어진 이름
    • 창시자는 로드 존슨
      • EJB를 비판하는 책을 쓰고 개선점을 구현한 3만줄의 예제 
  • Spring 프레임워크의 특징
    • 복잡함이 싫어서 만들어진 프레임워크
    • 프로젝트 전체 구조를 설계할 때 유용한 프레임워크
    • 다른 프레임워크와 혼용해서 사용 가능(포용)
    • 개발 생산성을 높이며 다양한 개발 도구 지원
  • POJO 기반의 구성
    • POJO(Plain Old Java Object)
    • 오래된 방식의 간단한 자바 객체라는 의미
    • JAVA 코드에서 일반적으로 객체를 구성하는 방식을 스프링에서 그대로 사용 가능
  • 의존성 주입(DI)을 통한 객체간 관계 구성
  • AOP(Aspect-Oriented Programming)
  • 편리한 MVC 구조

6. 개발 환경 구축

  1. Java 21, Eclipse 설치 (for Web Developers)
  2. Eclipse 실행 > Help > MarketPlace
  3. Spring 검색 > STS 4 설치
  4. 2번의 trust -> Eclipse 재시작
  5. New > Spring Starter Project로 프로젝트 생성
  6. Java 21, Maven, Jar를 선택하고 프로젝트 명은 board
  7. Dependecy 추가 - 9개
  8. 우측 하단에 다운로드 표시줄 완료되길 기다리기
  9. 프로젝트 우클릭 > Run as > Spring App 
    => 오류 메세지(DB 설정이 되지 않았따는 메세지)
  10. BoardApplication.java에서
    @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
    Application.properties에 
    server.port = 10000
  11. 재실행 > 브라우저에서 localhost:10000 입력
    WhiteLabel Error 발생
  12. resources -> template에 index.html 생성
  13. 브라우저 재접속 후 환영 메세지 확인

환경 구성

 

이클립스 실행 -> Help -> 이클립스 마켓플레이스 -> 스프링 검색 후 스프링4 설치

 

File -> New Project -> spring 검색 -> New spring Starter Project

 

 

project exploer -> 우클릭 -> properties -> java Editor -> Save Action -> 자동저장 설정 가능


src/main/resources -> application.properties 

server.port = 10000


src/main/java -> com.koreait.board -> BoardApplication.java

package com.koreait.board;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
public class BoardApplication {

	public static void main(String[] args) {
		SpringApplication.run(BoardApplication.class, args);
	}

}

 


src/main/resources -> templates -> New -> Others -> Html 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Welcome</title>
</head>
<body>
	<h1>My First Spring Work</h1>
	<hr>
</body>
</html>

 


 

결과물

 

board.zip
0.02MB

'자바 공부 > [자바] 기본 공부' 카테고리의 다른 글

[SPRING] Mapper  (1) 2024.12.12
[SPRING] Lombok 라이브러리  (1) 2024.12.11
[vue.js] 날씨 앱 만들기  (0) 2024.12.09
[Vue.js] Component(advanced)  (0) 2024.12.05
[Vue.js] Axios  (0) 2024.12.05