일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- SEO
- 플러그인
- db
- ChatGPT
- Login
- @Entity
- 구글알고리즘
- HttpSession
- router
- JPA
- linkedhastset
- Thymeleaf
- 워드프레스
- set
- Polylang
- 인텔리제이
- GET
- @Repository
- 구글애널리틱스
- 리액트오류
- mergeattributes()
- post
- @Controller
- 구글
- firebase
- addallattributes()
- 데이터베이스
- useEffect
- GA4
- @Query
- Today
- Total
목록개발 준비/Spring Boot (37)
개발천재

@Component, @Service, @Repository, @Controller는 모두 스프링 빈을 정의하는 어노테이션 스프링에서 관리하는 객체들은 스프링 컨테이너에 의해 생성되고 관리된다. 이를 통해 객체 간의 의존성을 관리하고, 코드가 효율적이고 유지보수가 쉬워진다. 스프링은 여러 종류의 **빈(Bean)**을 관리하는데, 이때 사용하는 어노테이션들이 @Component, @Service, @Repository, @Controller, @Bean이다. @Component, @Service, @Repository, @Controller는 모두 스프링 빈을 정의하는 어노테이션이지만, 이름과 사용 목적에 따라 미묘한 차이가 있다. @Component: 스프링이 관리하는 일반적인 객체@Service: ..

Intercepter 이해하기Interceptor(인터셉터)는 요청과 응답 사이에 끼어서 추가적인 작업을 수행하는 도구이다. 쉽게 말해서, "도와주는 역할"을 하는 사람과 비슷하다.인터셉터는 마치 문을 통과하려는 사람을 체크하는 경비원과 같다. 사람들이 문을 통과할 때, 경비원이 들어가기 전에(요청 처리 전에) 확인하거나, 들어온 후(요청 처리 후) 필요한 일을 한다. 예를 들면 사용자가 웹사이트에 요청을 보내려고 할 때, 경비원이 이 사람이 로그인 했는지, 특정 권한이 있는지 확인할 수 있다. 또는 요청을 처리한 후에는 경비원이 무사히 문을 통과한 후, 문을 닫고 나서 체크할 수도 있다. Interceptor의 역할요청 처리 전클라이언트(사용자)가 요청을 보낼 때, 예를 들어 로그인 상태 체크, 권한..

JPA에서 update가 없을까?JPA는 영속성 관리(Persistence Context)를 통해 객체 상태를 추적하고 있기 때문에, 엔티티 객체가 변경되면 자동으로 갱신(update)이 이뤄진다. JPA에서는 update라는 메서드가 존재하지 않는다.JPA에서 데이터를 업데이트 하기 위해서는 save()를 사용한다. save() 메서드는 새로운 객체는 저장하고, 기존 객체는 수정하는 방식으로 동작한다. 즉, save는 insert와 update를 구분 없이 처리하는 메서드이다.*영속성 관리(Persistence Context)란?영속성 관리(Persistence Context)는 JPA가 관리하는 메모리 공간으로, 객체의 상태를 추적하고 변경 사항을 자동으로 데이터베이스에 반영하는 역할을 해요. 기본..

Hibernate 이해하기Hibernate는 자바에서 데이터베이스와 객체를 연결해주는 프레임워크이다. 데이터를 자바 객체(클래스 형태)로 다루면서, 이를 데이터베이스의 테이블과 자동으로 매핑해주는 역할을 한다. 쉽게 말하면, 자바 객체와 데이터베이스 간의 번역기라고 할 수 있다. 예를 들어 자바 객체는 언어를 잘하는 사람이고, 데이터베이스는 다른 언어를 사용하는 사람이라고 생각해 보자. 이 두 사람은 서로 소통할 필요가 있지만, 언어가 다르기 때문에 대화가 되지 않는다. 이 두 사람 사이에 자동 번역기 역할을 하는 것이 Hibernate이다. 자바 객체가 이야기한 내용을 데이터베이스가 이해할 수 있도록 변환해주고, 데이터베이스에서 나온 결과를 자바 객체로 다시 변환해주는 역할을 하는 것이다. Hibern..

DB 정보를 환경변수로 등록하는 이유DB 연결할때 username과 password는 외부로 노출되면 안되기 때문에 환경변수로 등록해서 사용한다.DB 사용자 이름(username)과 비밀번호(password)는 중요한 보안 정보이다. 만약 코드에 직접 작성하면, 깃허브 같은 곳에 코드가 올라갔을 때 누구나 DB에 접속할 수 있게 된다. 그렇기 때문에 환경변수에 DB_USERNAME과 DB_PASSWORD를 등록해두고, application.properties나 application.yml에서 불러와서 사용한다.#MySQL 연결 설정spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://loc..

@Table 이해하기@Entity는 “이 클래스는 데이터베이스의 테이블”이라고 알려주는 역할을 하고, Hibernate나 JPA가 이 이름표를 보고 데이터베이스에 테이블을 자동으로 만들어 준다. @Table은 “이 클래스가 어떤 테이블과 연결될지 이름표를 붙여주는 역할”을 한다. 자바 클래스 이름과 데이터베이스 테이블 이름이 다를 때 어떤 테이블과 연결될지 Hibernate에게 알려줘야 하기 때문에 @Table 클래스를 사용한다.만약 클래스 이름이 User인데, 데이터베이스 테이블 이름이 member라면 @Table(name = "member")라고 적어서 “이 클래스는 member 테이블과 연결될 거야!”라고 알려주는 것이다. 자바 코드에서 User 객체를 생성하거나 수정하면, 실제로는 member 테..

application.properties에서 설정하기Spring Boot에서 application.properties나 application.yml 파일을 사용하여 애플리케이션의 다양한 설정을 할 수 있다. 이 파일을 통해 서버 설정, 데이터베이스 연결, 로깅, 파일 업로드, 보안 설정 등을 모두 관리할 수 있다. 필요에 따라 특정 설정을 추가하거나 수정하여 애플리케이션의 동작 방식을 맞춤 설정할 수도 있다. application.properties는 마치 스마트폰의 설정 앱과 같다고 할 수 있다. 스마트폰의 설정 앱에서 와이파이, 소리, 화면 밝기 등을 조절하듯이, application.properties에서는 데이터베이스 연결 정보, 서버 포트, 로그 수준, JPA 설정 등을 조절할 수 있다. 서..

MVC 개념 이해하기MVC는 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 부분으로 나누어 개발하는 방법이다. 모델은 데이터를 저장하고 처리하는 부분, 뷰는 사용자가 볼 수 있는 화면을 구성하는 부분, 컨트롤러는 사용자의 요청을 받아서 모델과 뷰를 연결하고 처리하는 부분이다. 이렇게 세 가지 역할을 분리함으로써 코드가 더 깔끔하고, 유지보수가 쉽기 때문이다. 예를 들어, 웹사이트에서 회원가입 폼을 만들 때, 모델은 사용자의 정보를 저장하고, 뷰는 폼을 보여주며, 컨트롤러는 사용자가 입력한 정보를 받아서 저장하는 역할을 한다. Model (모델)Spring Boot에서는 주로 DTO(데이터 전송 객체)나 엔티티(Entity) 클래스를 사용하여 모델을 구현한다. 모델은 데이터와 ..

Bean은 Spring이 객체(Object)를 대신 만들어주고 관리해주는 기능 Bean 이해하기Spring Boot에서 Bean(빈)은 Spring이 관리하는 객체를 말한다. 쉽게 말하면, Spring이 알아서 만들어서 개발자가 필요할 때 가져다 쓸 수 있게 준비해 놓는 자바 객체라고 생각하면 된다. 예를 들면 커피 자판기가 있다고 가정해보자. Bean은 자판기 안에 준비된 커피를 말한다. 커피는 객체라고 할 수 있다. 그리고 Spring은 커피 자판기를 말하는 것이다. 우리가 버튼을 누르면(요청을 하면) 커피 자판기가 커피를 만들어주는 것처럼 Spring은 Bean을 만들어서 개발자가 가져다 쓸 수 있게 해주는 것이다.✔ Bean = 자판기 안에 준비된 커피(객체)✔ Spring = 커피 자판기(객..

@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..