| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- C 언어 코딩 도장
- datastructure
- Stack
- 혼자 공부하는 C언어
- 메모리구조
- s
- stream
- Serialization
- insertion sort
- list 컬렉션
- R
- 이것이 자바다
- 윤성우의 열혈 자료구조
- 이스케이프 문자
- ㅅ
- 윤성우 열혈자료구조
- JSON
- C programming
- Graph
- 알기쉬운 알고리즘
- coding test
- Selection Sorting
- Algorithm
- buffer
- Today
- Total
목록Server/Spring (31)
Engineering Note
문제 상황스프링 환경을 세팅하고 테스트를 위해 sample.htlm 정적파일(파일경로:resources/static/sample.html)을 브라우저에서 요청했을 때 에러가 발생했다. 에러 원인Thymeleaf가 없는 환경에서 스프링 MVC의 모든 경로를 스프링에서 처리하려고 시도하기 때문 해결방법리소스 핸들러로 경로를 지정해주면 된다.package org.zerock.api01.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config...
@RequiredArgsContructorJava의 생성자를 자동으로 생성하게 해주는 Lombok 어노테이션스프링 빈에 등록된 객체를 주입하기 위해서 사용할 수 있다. 생성자를 통해 의존성을 주입하는 방법주입 받아야 하는 객체의 변수는 final로 작성 생성자를 이용해서 해당 변수를 생성자의 파라미터로 지정 @RequiredArgsConstructor@Servicepublic class SampleService { private final SampleDAO sampleDAO} 구체적으로 설명하면,주입 받아야 하는 객체의 변수는 final로 작성 => SampleDAO가 주입받아야 하는 객체 필드 변수이다.생성자를 이용해서 해당 변수를 생성자의 파라미터로 지정 => 여기서는 @ReqiredArgsC..
CommandLineRunner- 스프링부트가 실행되고 트래픽을 받기전 실행하고 싶은 코드가 있을 때 사용하는 인터페이스 사용 예시package com.example.demo;import com.example.demo.entity.Member;import com.example.demo.repository.MemberRepository;import lombok.RequiredArgsConstructor;import org.springframework.boot.CommandLineRunner;import org.springframework.stereotype.Component;import java.time.LocalDateTime;@Component@RequiredArgsConstructorpublic c..
빌드 도구 종류- 메이븐, 그레이들 메이븐- 프레임워크에 관계없이 앱의 빌드 프로세스를 쉽게 관리하는데 사용하는 빌드 도구 그레이들- 메이븐과 마찬가지로 앱 프로세스를 쉽게 관리하는 빌드 도구 빌드도구가 수행하는 일- 앱에 필요한 의존성 내려받기- 테스트 실행- 구문이 정의한 규칙 준수 여부 검증- 보안 취약점 확인- 앱 컴파일- 실행 가능한 아카이브에 앱 패키징(JAR, WAR) GroupId : 관련된 여러 프로젝트를 그룹화 하는데 사용아티팩트 ID: 현재 애플리케이션 이름=> 지정하지 않으면 기본값으로 설정된다. 메이븐 프로젝트 구조는 프로젝트 개발을 위해 선택한 IDE에 의존하지 않는데, 메이븐 프로젝트 구조에서 중요한 파일은 pom.xml이다. maven 프로젝트 주요 구성pom.xml:..
본 글은 Spring의 핵심인 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)를 학습하면서 @Transactional 어노테이션이 AOP의 대표적인 사례로 볼 수 있음을 알고 두 개념의 관계를 살펴보면서 각 개념을 더 깊이 이해하기 위한 목적으로 작성한 글입니다. @Transactional 어노테이션과 Spring AOP의 관계@Transactional은 **Spring AOP (Aspect-Oriented Programming, 관점 지향 프로그래밍)** 개념이 적용된 대표적인 예시입니다.Spring은 AOP를 활용하여 개발자가 **비즈니스 로직(핵심 관심사)**과 **트랜잭션 처리(Commit/Rollback 등 부가 기능, 횡단 관심사)**를 분리할 수 있도록 지..
1. 의존성 주입이란?의존성 주입(Dependency Injection, DI)은 객체가 사용할 다른 객체를 직접 생성하지 않고, 외부에서 주입받는 방식을 말합니다.스프링에서는 컨테이너(ApplicationContext)가 객체를 Bean으로 관리하고, 필요한 곳에 자동으로 주입해주기 때문에 @Autowired나 생성자 주입을 통해 쉽게 DI를 구현할 수 있습니다. 2. 왜 필요한가? (순수 자바 관점)순수 자바에서 보자면, 클래스가 의존 객체를 직접 생성하는 경우 테스트와 유지보수가 어렵습니다. 의존성을 직접 생성하는 경우class A { private B b = new B(); // A가 B를 직접 생성 public void doSomething() { b.work(); ..
Spring 6.2.11 버전 공식문서를 참고하여 작성하였습니다. @Configurationpublic class WebConfiguration implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**") .addResourceLocations("/public", "classpath:/static/"); }} "/resource"로 시작하는 요청이 있다면 그 다음에 설정된 상대경로 "/public"(루트 아래의 상대경로로 "/public" ), "classpath:/static/"(cl..