일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 워드프레스
- 리액트오류
- router
- 리액트오류해결
- web-vitals
- GA4
- ChatGPT
- firebase
- 데이터베이스
- wp_post
- 중첩라우팅
- useEffect
- 조건판단문
- 구글애널리틱스
- 구글
- path variable
- sql연결
- URLSearchParams
- PostView
- mysql-select
- SEO
- Polylang
- useNavigate
- useLocation
- 플러그인
- git사용자등록
- White HAT
- Thymeleaf
- 구글알고리즘
- 구글바드
- Today
- Total
목록개발 준비/Spring Boot (10)
개발천재
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Hrjx3/btsMjLP0Gyl/rU5jVcXhKmxwUNRkHoopJK/img.jpg)
MVC 개념 이해하기MVC는 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 부분으로 나누어 개발하는 방법이다. 모델은 데이터를 저장하고 처리하는 부분, 뷰는 사용자가 볼 수 있는 화면을 구성하는 부분, 컨트롤러는 사용자의 요청을 받아서 모델과 뷰를 연결하고 처리하는 부분이다. 이렇게 세 가지 역할을 분리함으로써 코드가 더 깔끔하고, 유지보수가 쉽기 때문이다. 예를 들어, 웹사이트에서 회원가입 폼을 만들 때, 모델은 사용자의 정보를 저장하고, 뷰는 폼을 보여주며, 컨트롤러는 사용자가 입력한 정보를 받아서 저장하는 역할을 한다. Model (모델)Spring Boot에서는 주로 DTO(데이터 전송 객체)나 엔티티(Entity) 클래스를 사용하여 모델을 구현한다. 모델은 데이터와 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yIB5V/btsMjAHVMtN/Gn8d24rtmycm8Jqa0ju9E1/img.jpg)
Bean은 Spring이 객체(Object)를 대신 만들어주고 관리해주는 기능 Bean 이해하기Spring Boot에서 Bean(빈)은 Spring이 관리하는 객체를 말한다. 쉽게 말하면, Spring이 알아서 만들어서 개발자가 필요할 때 가져다 쓸 수 있게 준비해 놓는 자바 객체라고 생각하면 된다. 예를 들면 커피 자판기가 있다고 가정해보자. Bean은 자판기 안에 준비된 커피를 말한다. 커피는 객체라고 할 수 있다. 그리고 Spring은 커피 자판기를 말하는 것이다. 우리가 버튼을 누르면(요청을 하면) 커피 자판기가 커피를 만들어주는 것처럼 Spring은 Bean을 만들어서 개발자가 가져다 쓸 수 있게 해주는 것이다.✔ Bean = 자판기 안에 준비된 커피(객체)✔ Spring = 커피 자판기(객..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/sqpAx/btsMhveeowP/wFkffo2ZAz1UDGdompq7t1/img.jpg)
@RequestParam이란?Spring MVC에서 @RequestParam은 클라이언트(브라우저)에서 전송한 쿼리 파라미터(Query Parameter)나 폼 데이터를 컨트롤러의 메서드 매개변수로 바인딩할 때 사용하는 어노테이션이다.@RequestParam(name = "name", required = false) String name) @RequestParam 사용법클라이언트가 "?name=홍길동" 같은 형태로 데이터를 보낼 때 @RequestParam을 이용해 이를 컨트롤러에서 받을 수 있다.import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestPara..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pgjPn/btsMfH61s9H/1LNXjmqUxoj8Gr0Bt6XMl1/img.jpg)
Thymeleaf는 웹사이트의 HTML 페이지를 Java 코드에서 바꿔주는 도구 Thymeleaf 개념 이해Thymeleaf(타임리프)는 HTML 파일에서 동적으로 데이터를 넣어주는 템플릿 엔진이다. 쉽게 말해, HTML과 Java를 연결해주는 역할을 한다. Thymeleaf는 Java 기반 템플릿 엔진이기 때문에 주로 Java(Spring Boot)에서 사용된다. 하지만 Java에서만 쓸 수 있는 것은 아니고, HTML 템플릿 엔진으로서 독립적으로도 사용 가능하긴 하다. 하지만 Thymeleaf는 기본적으로 Java와 가장 잘 맞도록 설계된 템플릿 엔진이기 때문에, Python, Node.js 같은 다른 언어에서는 거의 사용되지 않고, 그 언어에 맞는 템플릿 엔진(예: Python은 Jinja2, N..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/beefIn/btsMdqkLoaX/GJuGZmRzXayLH39yP8Kpok/img.jpg)
Lombok 이해하기Lombok은 자바 코드에서 반복되는 메서드(Getter, Setter, 생성자 등)를 자동으로 생성해 주는 라이브러리다. 예를 들어, @Getter와 @Setter를 붙이면 getName()이나 setAge() 같은 메서드를 직접 작성하지 않아도 자동으로 만들어 준다. @NoArgsConstructor나 @AllArgsConstructor를 사용하면 기본 생성자나 모든 필드를 포함한 생성자도 자동 생성된다. 또한 @Builder를 활용하면 객체를 쉽게 만들 수 있다. 즉, Lombok을 사용하면 코드가 짧아지고 가독성이 좋아져서 유지보수가 훨씬 편해진다.[ Lombok 주요 장점 ]- 코드 가독성이 향상됨- 반복적인 코드 작성을 줄여서 생산성이 증가- 유지보수가 쉬워짐 Lombok..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b2wOrG/btsMdn9tPUI/WZxSnXE5xlJt2cWcDbNdi0/img.jpg)
인텔리제이 상단 메뉴에서 [Create Git Repository]를 클릭한다. Git에 올릴 프로젝트를 선택한다. gitignore.io에 접속하여 gitignore 파일을 만든다. gitignore.io에서 만든 소스코드를 프로젝트에 있는 .gitignore 파일에 붙여넣는다. 왼쪽에 위치한 commit 아이콘을 누르고 Unversioned Files에 체크한 뒤 커밋 메세지를 입렵한다. 그리고 [Commit] 버튼을 클릭한다. 상단에 main을 클릭하고 [Push]를 클릭한다. github에서 생성한 레파지토리의 https url을 입력하고 [OK]를 클릭한다. push할 파일이 생성되면 [Push Anyway] 버튼을 클릭한다. github에 접속하여 파일이 정상적으로 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DbZQs/btsMcRJLmeI/BcLIx15XvIH99rAdk8Byf1/img.jpg)
[ 초기 설정 ]- controller Package 폴더 생성 후 GuguController 생성- templates에 gugu.html 생성 Controller에서 GetMapping 작업하기model.addAttribute("range", 9); → 1부터 9까지 반복할 수 있도록 range 값을 전달한다.반환값 "gugu" → gugu.html 템플릿을 렌더링한다.package com.example.testMvc.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;@Contr..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/7W2qW/btsMd15WGwB/MHntuFx8kmJJWBk6Gb8VQK/img.jpg)
Annotation 기본 개념Java에서 어노테이션과 Spring Boot에서 사용하는 어노테이션은 기본 개념은 같지만, 사용되는 목적과 방식에서 차이가 있다.Java에서 어노테이션은 메타데이터(metadata)의 일종으로, 클래스, 메서드, 변수 등에 부가적인 정보를 제공하는 역할을 한다. 어노테이션 자체는 프로그램 로직에 영향을 주지 않지만, 런타임이나 컴파일 타임에 특정 처리를 수행할 수 있도록 도와주는 역할을 한다. Spring Boot의 어노테이션은 Java 어노테이션을 활용하여 빈 관리, 의존성 주입, 트랜잭션 관리 등 다양한 기능을 자동으로 처리한다. Spring Boot에서는 어노테이션을 통해 설정을 최소화하고 자동화를 구현하는 것이 큰 특징이다.Spring Boot 어노테이션은 주로 "컴..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bwK6cJ/btsMa6G43uD/Frwajld2vRaoRcOud9Zcf1/img.jpg)
Spring Boot란?Spring Boot는 자바(Java) 기반의 웹 애플리케이션을 쉽게 만들 수 있도록 도와주는 프레임워크다. 기존의 스프링(Spring) 프레임워크는 설정이 복잡하고 초기 설정에 시간이 많이 걸렸지만, 스프링 부트(Spring Boot)는 이를 자동화하여 최소한의 설정만으로 빠르게 애플리케이션을 개발할 수 있도록 해준다. 기본적으로 내장 웹 서버(예: Tomcat)를 포함하고 있어 별도의 설정 없이 실행할 수 있으며, 필요한 기능을 간단한 설정만으로 추가할 수 있어 초보자도 쉽게 사용할 수 있다. 즉, 스프링 부트는 개발자가 비즈니스 로직에 집중할 수 있도록 불필요한 설정을 줄여주는 편리한 도구이다. Spring Boot의 역사Spring Boot는 2014년 4월에 Pivo..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bMB8SQ/btsMbCekKQ0/lfbFv302C9sD8znmvgrdK1/img.jpg)
Spring Initializr란?Spring Initializr(스프링 이니셜라이저)는 Spring Boot 프로젝트를 쉽게 생성할 수 있도록 도와주는 도구이다. 웹 기반 UI와 REST API를 제공하며, 원하는 설정을 선택하면 자동으로 프로젝트를 생성해준다. Spring Initializr를 사용하는 이유Spring Boot 프로젝트를 처음 시작할 때는 Spring Initializr를 활용하는 것이 가장 쉽고 빠른 방법이다. 보통 Spring 프로젝트를 만들려면 디렉토리 구조를 만들고, 필요한 라이브러리를 설정하는 과정이 번거롭다. 하지만 Spring Initializr를 사용하면, 몇 번의 클릭만으로 필요한 설정이 완료된 프로젝트를 자동으로 생성해주므로 간단하게 프로젝트를 만들 수 있다...