Spring 73

Spring Boot 3강 - Lombok으로 Getter/Setter 자동 생성하기

Lombok을 프로젝트에 적용하면, 자주 쓰는 Getter/Setter 메서드를 직접 작성하지 않아도 됩니다.애너테이션만 붙이면, 코드를 훨씬 짧고 간결하게 유지할 수 있습니다.이번 예제에서는 실제로 Lombok의 @Getter, @Setter를 활용해보겠습니다.📌 예제 코드package com.mysite.sbb;import lombok.Getter;import lombok.Setter;@Setter@Getterpublic class HelloLombok { private String hello; private String lombok; public static void main(String[] args) { HelloLombok helloLombok = new Hello..

JDK 21을 설치하고 STS4(Spring Tool Suite 4)까지 설치해보자

이번 글에서는 JDK 21 버전 설치 후 환경 변수를 설정하고 STS4까지 설치하는 것을 진행해보고자 합니다만,JDK 21 설치 및 환경 변수 설정의 경우 먼저 포스팅이 되어있어 이쪽을 참고해주시기 바랍니다.STS4(Spring Tool Suite 4) 설치(1) STS4 다운로드공식 사이트에서 다운로드STS4 다운로드(2) 설치 및 실행운영체제에 맞는 설치 파일(zip 또는 installer) 다운로드압축 해제 또는 설치 파일 실행 후 설치설치 경로는 한글/공백 없는 경로 추천 (예: C:\dev\sts-4.23.0.RELEASE)실행 파일(SpringToolSuite4.exe) 더블클릭하여 실행STS4에서 JDK 21 설정STS4 실행 후,Window → Preferences → Java → Inst..

Spring Boot 2강 - Lombok 설치 및 Gradle 설정법

Lombok은 자바 코드를 더 간결하게 만들어주는 라이브러리입니다.반복적으로 작성하는 getter, setter, 생성자, toString 같은 코드를 자동으로 생성해주기 때문에,개발자는 핵심 로직에 집중할 수 있고, 코드도 훨씬 깔끔해집니다.📌 설치 및 build.gradle 설정 방법https://projectlombok.org/download위 주소에서 lombok.jar 파일을 다운로드합니다.build.gradle 파일의 dependencies 블록에 아래 두 줄을 추가합니다.compileOnly 'org.projectlombok:lombok'annotationProcessor 'org.projectlombok:lombok'💬 왜 이런 작업을 해야 할까?Lombok의 주요 목적자바에서는 필드가..

자동 서버 재시작을 위한 developmentOnly : spring-boot-devtools

1. spring-boot-devtools란?Spring Boot DevTools는 스프링 부트 개발을 더 쉽고 빠르게 도와주는 개발용 툴입니다.주로 개발 환경에서만 사용하며, 프로덕션(운영) 환경에서는 사용하지 않습니다.주된 기능은 자동 재시작, 라이브 리로드, 속성 캐시 비활성화 등입니다.2. 왜 developmentOnly로 지정할까?developmentOnly는 개발환경에서만 해당 라이브러리가 적용되도록 하는 Gradle의 플러그인(구성 방식)입니다.이 옵션을 사용하면, 빌드해서 배포할 때(jar, war 생성 시) 이 라이브러리가 포함되지 않습니다.즉, 운영 환경에 DevTools가 포함되지 않도록 방지하는 것이죠.3. 주요 기능(1) 자동 재시작(Automatic Restart)소스코드, 설정..

Spring Boot 1강 - HelloController로 첫 번째 웹 응답 만들기

이번 강의에서는 Spring Boot를 이용해 가장 기본적인 웹 요청 처리(Hello, World! 출력)를 구현해봅니다.클래스와 애너테이션의 역할을 이해하며, 실제로 브라우저에 "Hello, World!"가 출력되는지 확인합니다.📌 예제 코드package com.mysite.sbb;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class HelloController { @GetMapping("/hello") @..

Spring 강의 15강 - ViewResolver와 HandlerMapping을 활용한 컨트롤러 구조 개선

이번 시간에는 Spring 웹 애플리케이션에서 ViewResolver와 HandlerMapping을 적용해 컨트롤러의 역할을 세분화하고, 각 기능을 담당하는 클래스를 구조화하는 과정을 다룹니다.📌 ViewResolver.javapackage com.springbook.controller;public class ViewResolver { public String prefix, suffix; public String getView(String viewName) { return prefix + viewName + suffix; } public void setPrefix(String prefix) { this.prefix = prefix; } public void setSuffix(String suffi..

게시판 해체 분석 100%!! 코드들의 설명과 동선 완벽하게 이해하기

국비 수업 내용으로 진행한 BoardWeb의 소스 코드를 파일별로 하나씩 보여드리고, 각 코드에서 메서드, 명령어, 주요 구문, 흐름 등을 상세하게 해설한 글입니다.📦 JDBCUtil.java코드 원문package com.springbook.biz.board;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class JDBCUtil { public static Connection getConnection() { try { Class.forName("org.h2.Driver"); return..

STS3에서 로그인과 게시판 생성을 위한 요점 정리

Spring Tool Suite3를 이용한 로그인 및 게시판 기능 구현을 할 때 필요한 요점을 기능별로 정리한 내용입니다.해당 내용은 국비 지원에서 받은 수업을 기반으로 두어 내용을 정리하였습니다.1. 데이터베이스 유틸리티 (JDBCUtil.java)package com.springbook.biz.board;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;public class JDBCUtil { // 1. DB 연결 메서드 public static Connection getConnecti..

Spring Framework에서 Service와 ServiceImpl 구조를 사용하는 이유는 무엇인가?

Spring 프레임워크에서 Service 인터페이스와 ServiceImple 클래스(구현체)를 나누어 사용하는 이유는 유연한 설계와 유지보수성을 위한 객체지향 설계 원칙과 밀접한 관련이 있습니다. 그 이유를 아래에 정리해 드리겠습니다.1. 역할 분리와 추상화 - Service는 기능을 정의하는 인터페이스입니다. - ServiceImpl은 실제 구현을 담당하는 클래스입니다.이렇게 나누면 코드가 "무엇을 할 수 있는지"와 "어떻게 작동하는지"가 분리됩니다.2. 느슨한 결합 (Loosely Coupled) 원칙을 이용한 소프트웨어 설계 - 클라이언트(Controller 등)는 구현체가 아닌 인터페이스에 의존합니다. - 구현체가 바뀌어도 인터페이스만 유지되면 다른 클래스에 영향을 주지 않습니다.3. 테스트와 유..

Spring 14강 - DispatchServlet과 요청 흐름 통합 이해하기

이번 강의에서는 web.xml의 서블릿 매핑을 통해 .do 요청을 DispatchServlet으로 위임하는 방법과, 각 요청별 흐름을 Java 서블릿에서 직접 제어하는 구조를 배웠습니다. 게시판 프로그램의 전체 흐름을 하나의 컨트롤러 클래스(DispatchServlet)가 관리하게 되어 MVC 패턴의 기반이 마련되었습니다.📌 web.xml 설정 action com.springbook.controller.DispatchServlet action *.do 📌 JSP 화면들🔹 login.jsp 🔹 insertboard.jsp 🔹 getboard.jsp ...글 삭제🔹 getboardlist.jsp boardList = (List) sess..

반응형