본문 바로가기

Spring5

[Thymeleaf] Thymeleaf 기초 Thymeleaf HTML 파일을 템플릿으로 사용하여 동적인 웹 페이지를 생성할 수 있게 해주는 템플릿 엔진서버에서 데이터를 동적으로 삽입해 브라우저에 렌더링 되는 HTML을 만든다. 특징자연스러운 템플릿 : HTML로 열어봐도 깨지지 않으며, 브라우저에서 정적 HTML처럼 볼 수 있음표현 언어 : ${user.name} 같은 표현으로 서버 데이터를 표현서버 사이드 렌더링 (SSR) : 서버에서 HTML을 완성해서 클라이언트에 전송Spring과 강력한 통합 : Spring MVC의 모델 데이터를 쉽게 출력 가능확장성 : 커스텀 태그와 확장 기능 제공 Thymeleaf 구조 1. 템플릿 엔진 (Thymeleaf Engine) : HTML을 분석하고 필요한 데이터로 치환해 렌더링2. 표현 언어 (OGNL).. 2025. 8. 29.
[Spring Security] JWT(JSON Web Token) JWT (JSON Web Token) 웹에서 인증과 정보 전달을 안전하게 하기 위해 사용하는 토큰 형식.로그인 시스템이나 API 인증 등에 많이 사용한다.서버가 사용자 인증에 성공했을 때, 사용자 정보를 JSON 형식으로 암호화한 토큰을 만들어 클라이언트에게 전달하고,클라이언트는 이후 요청마다 이 토큰을 HTTP 헤더에 담아서 서버에 전달하는 방식이다.즉, 클라이언트가 로그인 후 받은 토큰을 요청에 포함시키면, 서버는 토큰을 확인하고 인증된 사용자로 인식한다. 요청마다 토큰을 헤더에 담아서 보내는 이유 >> HTTP의 특성때문 ** HTTP의 특성Connectionless : 한 번 통신이 이뤄지고 난 후 연결이 바로 끊어진다.Stateless : 이전 상태를 유지/기억하지 않는다. 구조 JWT는 총 .. 2025. 8. 3.
[Spring] 의존성 주입 생성자 주입 의존해야 하는 객체를 private final로 선언하고 생성자를 통해 객체를 주입받는 방식 필드 주입변수에 @Autowired를 붙여서 사용하는 방식 수정자 주입setter를 생성해서 의존 관계를 주입받는 방식   생성자 주입장점1) final 선언 가능 필드 주입과 수정자 주입은 final로 선언이 불가능하다. 하지만 생성자 주입은 final로 필드 선언이 가능하기 때문에 불변성이 보장된다.2) 순환 참조 방지필드 주입과 수정자 주입은 bean을 먼저 생성한 뒤, 주입하려는 bean을 찾아 주입한다. 그러나 생성자 주입은 먼저 bean을 생성하지 않고 주입하려는 bean을 먼저 찾는다. 따라서 생성자 주입을 하면 서버 자체가 구동이 되지 않아 순환 참조를 방지할 수 있다.3) 테스트의 용.. 2024. 11. 15.
[Springboot] Spring boot 프로젝트 만들기 방법 1) Spring Initializr https://start.spring.io/방법 2) 툴을 사용해서 직접 생성하기 방법 1) https://start.spring.io/ 접속 위와 같은 화면이 나온다. 프로젝트 기본 세팅 Project : project 유형이다. Gradle은 script/code 형태로 프로젝트를 관리한다. build.gradle이라는 설정 파일이 생긴다. Maven은 XML 형태로 프로젝트를 관리한다. pom.xml이라는 설정 파일이 생긴다.Language : Java, Kotlin, Groovy 중 사용할 언어를 선택한다.Spring Boot Version : 스프링 부트의 버전을 선택한다. SNAPSHOT과 M3은 아직 미완성된 버전이다. (* M3의 M은 m.. 2024. 4. 17.