Spring

Aunotation 키워드

짤진이 2024. 4. 30. 10:40
반응형

빌드 vs 컴파일

빌드

  • 소스 코드 파일을 실행 가능한 소프트웨어 산출물로 변환하는 것
  • 소스 파일을 컴파일 하여 목적 파일을 생성하고 링크 과정을 거쳐 실행 가능한 파일을 만들어 내는 과정
  • 단순히 컴파일 과정만을 의미하는 것이 아니라, 여러 작업을 수행하여 최종 실행 파일을 만드는 과정을 말한다.

 

컴파일

  • 소스코드를 기계어로 변환
  • 컴파일러에 의해 컴파일하여 실행 가능한 파일로 만드는 것

무수히 많은 작업을 통틀어 얘기하는 - 빌드를 알아서 해주는 도구 = > 빌드 자동화 도구

- Ant : 명령이 어렵고 느리다.

- Maven : 명령이 쉽고 조금 빠르다.

- Gradle : 명령이 진짜 쉽고 엄청 빠르다.

 

 

Spring Boot Starter Web

 

build.gradle

 

Lombok 롬복의 기능

  • Lombok의 기능은 model 클래스나 Entity 같은 도메인 클래스 등에 반복되는 getter, setter, toString 등의 메소드를 자동으로 만들어주는 기능을 합니다.

Lombok 롬복의 장점

  • Lombok은 복잡하고 반복되는 코드를 어노테이션 기반의 코드 자동생성으로 생산성이 향상되고 코드가 축소되어 가독성 및 유지보수성을 높일 수 있습니다.

Lombok 롬복의 단점

  • 코드가 직접 눈에 보이는게 아니므로 직관성이 떨어질수 있습니다.

 

다양한 종류의 의존성 관리 키워드 사용

  • implementation: 해당 의존성을 컴파일 및 런타임 클래스패스에 포함시킵니다. 이는 프로젝트 코드에서 직접 사용하는 의존성에 해당합니다. 다른 프로젝트에서는 해당 의존성을 직접 사용
  • compileOnly: 컴파일 시에만 해당 의존성을 클래스패스에 포함시킵니다. 런타임 시에는 사용되지 않습니다. 주로 컴파일 타임에만 필요한 의존성, 예를 들어 API 인터페이스나 플러그인 구현 등을 선언할 때 사용
  • runtimeOnly: 런타임 시에만 해당 의존성을 클래스패스에 포함시킵니다. 컴파일 타임에는 사용되지 않습니다. 주로 컴파일 시에는 필요하지 않지만 실행 시에만 필요한 의존성, 예를 들어 특정 라이브러리의 실행 파일 등을 선언할 때 사용
  • testImplementation: 테스트 코드에서만 사용되는 의존성을 컴파일 및 런타임 클래스패스에 포함시킵니다. 테스트 코드에서만 사용되는 라이브러리를 선언할 때 사용
  • testCompileOnly: 테스트 코드의 컴파일 타임에만 해당 의존성을 클래스패스에 포함시킵니다. 런타임 시에는 사용되지 않음
  • testRuntimeOnly: 테스트 코드의 런타임 시에만 해당 의존성을 클래스패스에 포함시킵니다. 컴파일 타임에는 사용되지 않음

사용이 적은 키워드

  • compile: 이전에는 의존성을 컴파일하는 데 사용되었지만, 현재는 implementation과 compileOnly가 대체되어 더 정확한 의존성 관리를 제공
  • testCompile: 테스트 코드의 의존성을 컴파일하는 데 사용되었지만, 현재는 testImplementation과 testCompileOnly가 대체되어 더 명확한 테스트 의존성 관리를 제공
  • runtime: 런타임 의존성을 관리하는 데 사용되었으나, 현재는 runtimeOnly가 대체되어 런타임 시에만 필요한 의존성을 더 명확하게 선언
  • provided: 컴파일 타임에만 필요하고 런타임에는 제외되는 의존성을 관리하는 데 사용되었지만, Gradle에서는 이를 좀 더 명확하게 나타내는 방식으로 대체

Marven vs Gradle

[차이점]

1. 가시 : 빌드 스크립트

2. 느낄 : 속도 차이!

 

스프링은 기본적으로 스프링 빈을 등록할 때 싱글턴 패턴을 따른다.

@Controller : 스프링아 나 이클래스 컨트롤러로 쓸게!

사용자 요청 -> 서비스 일 -> 사용자 + @RequestMapping = 이 클래스의 모든 메소드를 핸들러로 쓸 수 있다.

내가 생각하는 핸들러.. 사용자의 요청에 의해 호출되는 메소드

반응형