본문 바로가기
공부기록/Spring

5월 8일 (1) Spring이란? - Java로 spring 사용하기

by project100 2023. 5. 8.

웹 개발에서 많이 사용하는 오픈소스 프레임워크

특징 :  DI - 의존성주입, IoC - 제어의 역전

 

프레임워크란?

아키텍처에 해당하는 골격코드(구조)

장점 : 빠른 구현시간, 쉬운 관리, 개발자 역량 획일화, 검증된 아키텍처의 재사용과 일관성 유지

 

아키텍처란?

전체 애플리케이션의 구조를 결정

 

 

DI(Dependency Injection 의존성 주입)

일체형 HAS-A관계, A가 B를 생성하는 관계

분리/부착형, A객체가 B 객체를 사용하는 관계

부품을 생성하고. 제품을 조립해 주는 공정과정을 대신해 주는 라이브러리

 

Ioc(Invension of Control 제어의 역전)

프레임워크에 제어의 권한을 넘김

개발자는 설계도만 작성, 나머지를 스프링워크에서 처리해 줌

사용되는 시점에 따라서 생성될 수 있도록 처리

client

 

  war - 예전방식이나 jsp파일을 연동할 수 있다.

dependencies= 라이브러리

기본 정보 

</dependencies> 안에 있는 정보는 웬만하면 건들지 않기, 건들면 제대로 작동하지 않는다.

 

dependency - 하나의 라이브러리를 뜻함

<dependency> </dependency>

 

https://mvnrepository.com/

검색해서 사용

클릭하면 저절로 복사 붙여넣고, 버전은 지우기

아이콘을 눌러야 해당 라이브러리가 설치된다.

 

메인파일 생성된 것 확인

 

설정

 

# JSP
# #주석을 나타냄
# /WEB-INF/는 똑같이 만들기, views는 이름변경 가능
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

# static resources
# resources 까지의 경로를 나타냄 classpath:
# static/ img, js, css가 담길 폴더
spring.web.resources.static-locations=classpath:static/

 

기본설정 파일 만들기

main 폴더에서 webapp, WEB-INF, views 파일 만들기

 

 

 

 

jsp - html + java 

views 폴더에서만 만들 수 있음

 

 

<%--
  Created by IntelliJ IDEA.
  User: user
  Date: 2023-05-08
  Time: 오전 10:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>처음</title>
</head>
<body>
<h1>시작페이지</h1>
<p>JSP로 만든 페이지입니다.</p>
</body>
</html>

test 폴더 demo에 controller 파일 만들고 자바 클래스 만들기

 

package com.company.demo1.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
    // spring 컨테이너가 이 클래스를 DI 해줌
    // 만들어진 것에 등록하는 개념

    // JSP(html) 페이지를 열기 위한 메소드
    @GetMapping("/")
    public String home(){
        return "index";
    }
}

 

 

8080을 누르면 html페이지가 뜬다.