본문 바로가기

Spring/공부공부

(8)
[Spring Boot / IntelliJ] bootJar & MANIFEST.MF 보호되어 있는 글입니다.
[Spring Boot] @SpringBootApplication 스프링부트 메인클래스에는 아래처럼 @SpringBootApplication 어노테이션이 붙어있다.@SpringBootApplicationpublic class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); }}스프링의 다양한 기능을 자동으로 설정하고, 이를 기반으로 애플리케이션 전체를 실행할 수 있도록 돕는 역할! 따라서,  @SpringBootApplication 가 붙은 메인 클래스가 스프링 부트 애플리케이션의 진입점이다.main() 메서드에서 SpringApplication.run() 메서드를 호출하면스프링 컨테이너가 초기화되고, 등..
[Spring] Quartz 스케줄러 * Quartz Java 기반의 스케줄링 라이브러리. 1. 작업 정의  Job 인터페이스를 상속받아 MyJob 클래스 구현.  ( org.quartz.Job )import org.quartz.Job;import org.quartz.JobExecutionContext;public class MyJob implements Job { @Override public void execute(JobExecutionContext context) { System.out.println("Executing job at: " + java.time.LocalTime.now()); }} - execute(JobExecutionContext context) : 작업 실행 메서드.위에서 정의된 작업은 ..
[Spring] @Async 비동기 처리 ( SimpleAsyncTaskExecutor ) @Async메서드를 비동기적으로 실행하기 위해 사용하는 어노테이션.별도의 스레드 풀에서 실행되며, 메서드의 호출과 실행이 분리된다. 호출자는 메서드가 끝날때까지 기다리지 않고 바로 제어를 반환, 메서드 내부 실행은 백그라운드 스레드에서 처리. @Async   => 기본 스레드 풀 사용.@Async("taskExecutor")  => 명시한 스레드 풀 사용.@Servicepublic class MyService { @Async("taskExecutor") // taskExecutor 사용 public void customAsyncMethod() { System.out.println("Executing with customTaskExecutor"); }}   @EnableAsy..
[Spring] 뷰 리졸버(View Resolver) 설정 (https 오류) [ View Resolver ] 스프링 MVC모델의 컨트롤러에서 반환하는 뷰 이름을 실제 뷰 템플릿 파일과 매핑하는 역할.prefix와 suffix 설정으로 뷰 이름을 해석. * 스프링부트에서 지원하는 서버 템플릿 엔진 :  JSP, Velocity, Thymeleaf, FreeMarker, Mustache 등..  ( application.properties 설정 ) 스프링부트 기본 설정은 Thymeleaf 템플릿 엔진으로 아래와 같다.spring.mvc.view.prefix=classpath:/templates/spring.mvc.view.suffix=.html=> return한 뷰 이름 앞뒤로 설정파일의  prefix / suffix 를 붙여 파일을 찾는다.  ' prefix viewName suf..
[Spring / HTTP] ResponseEntity [ ResponseEntity ] 스프링 프레임워크(Spring Framework)에서 HTTP 응답을 상세하게 제어할 수 있도록 제공하는 클래스. * HttpEntity 를 상속받아 구현된 클래스. ( HttpEntity 클래스는 HttpHeader와 HttpBody를 포함. ) package org.springframework.http;public class ResponseEntity extends HttpEntity { private final HttpStatusCode status; // .....}=> 따라서 HTTP 응답의 body, status code, headers 등을 포함한다.  * 예시 *import org.springframework.http.ResponseEntit..
[Spring] 어노테이션 (@Component, @Configuration, @Bean, @Autowired) https://phyho.tistory.com/101 20230719 _[33일차]_01. Spring 게시판 수정 & 삭제 버튼 생성http://gofile.me/63QAy/vS8wbABZZ Connecting... 어디서나 모든 장치에서 파일을 액세스, 공유 및 공동 작업할 수 있습니다. 전체 데이터 소유권을 가져오며 구독 요금이 없습니다. {0}자세한 정보{1} 원활한phyho.tistory.comhttps://programmingrecoding.tistory.com/13 @Component 어노테이션@Component 어노테이션을 이용하면 Bean Configuration 파일에 Bean을 따로 등록하지 않아도 사용할 수 있다. 빈 등록자체를 빈 클래스 자체에다가 할 수 있다는 의미이다. @Com..
[Spring] Bean의 생명주기 / @PostConstruct * 스프링 ( DI, IOC, AOP ) * 더보기 * DI (Dependency Injection) 의존성 주입 결합도 감소 - 객체 지향 프로그래밍에서 소프트웨어 컴포넌트 간의 의존관계를 느슨하게 만들기 위한 디자인 패턴. - 객체 간의 의존 관계를 코드 내에서 정의하는 것이 아니라 외부에서 주입하는 방식. => 코드를 유연성, 재사용성을 높여 유지보수성을 향상, 테스트 용이성 향상. * IoC (Inversion of Control) 제어의 역전 - 프레임워크가 프로그램의 제어 흐름을 가짐. - 스프링에서는 개발자 대신 스프링 IoC 컨테이너가 이러한 객체들의 생성/생명주기를 관리. 빈(Bean) 라이프사이클 * 빈(Bean) : 스프링 컨테이너에 의해 생성/관리되는 객체. (싱글톤 패턴) * AO..