[SpringBoot] HTTP form에서 put, delete 사용법
·
Web & Android/SpringBoot
💡 HTTP form에서는 get, post만 지원한다! 1) application.properties에 아래의 설정 값 추가 spring.mvc.hiddenmethod.filter.enabled=true 2) html에 아래 코드 추가 예제
[SpringBoot] REST API
·
Web & Android/SpringBoot
REST : 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것 API : 애플리케이션 프로그래밍 인터페이스 : 응용 프로그램이 서로 통신할 수 있도록 하는 일련의 규칙 REST API 컴퓨터와 컴퓨터, 서버와 클라이언트 등 다양한 애플리케이션 연결 구조에서 프로그래밍 인터페이스 규격에 맞춰 자원의 이름으로 구분하여 자원의 상태를 주고받는 행위 GET 해당 리소스를 조회함(read) POST 해당 URL를 요청하면 리소스를 생성(create) PUT 해당 리소스 수정(update) DELETE 해당 리소스 삭제(delete) REST 구성 자원(Resource) - URI 행위(Verb, Method) - HTTP Method(요청 방식) - GET, POST 등 표현(자원의 형태, Repre..
[SpringBoot] Bean
·
Web & Android/SpringBoot
💡 스프링 컨테이너에서 관리하는 자바 객체 Bean Scope 빈이 존재할 수 있는 범위를 뜻함 종류 싱글톤(Singleton) 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 스프링 컨테이너에서 한 번 생성됨 컨테이너가 사라질 때 bean도 제거됨 프로토타입(Prototype) 모든 요청에서 새로운 객체를 생성하는 것 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프 웹 관련 스코프 request : 웹 요청이 들어오고 나갈 때까지 유지되는 스코프 session : 웹 세션이 생성되고 종료될 때까지 유지되는 스코프 application : 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프
[SpringBoot] 스케줄링
·
Web & Android/SpringBoot
💡 ScheduledExecutorService과 SpringBoot의 @Scheduled로 스케줄링을 설정할 수 있다. ScheduledExecutorService은 인수있는 메서드에도 적용할 수 있지만 @Scheduled는 인수있는 메서드에 적용이 불가하다. ScheduledExecutorService Java 1.5부터 지원되는 스케줄링이 가능한 Executor 서비스로 인터페이스이며, 구현체로 ScheduledThreadPoolExecutor()가 있다. 예제 코드 @Service @RequiredArgsConstructor @Transactional public class BattleRivalService { private final BattleRepository battleRepository;..
[SpringBoot] Google 이메일 인증
·
Web & Android/SpringBoot
의존성 추가 Gradle implementation 'org.springframework.boot:spring-boot-starter-mail' Maven org.springframework.boot spring-boot-starter-mail ⇒ 만약 의존성을 추가했는데도 Service 코드 작성 후 에러가 생긴다면 JavaMail API jar을 추가해보기! Google SMTP Google SMTP 비밀번호 생성 구글 로그인 후 [계정 관리] - [보안] - [2단계 인증] 설정 2. [앱 비밀번호] - [메일] - [사용할 기기] 생성 3. 생성 버튼 클릭하면 비밀번호가 생성됨 → 복사하여 spring.mail.password 에 넣어주면 된다. 4. Gmail [설정] - [전달 및 POP/IM..
[SpringBoot] Lombok
·
Web & Android/SpringBoot
💡 Java 라이브러리로 개발을 하면서 기계적으로 작성하게 되는 Getter, Setter, ToString 등의 메서드 작성 코드를 Annotation으로 대신해 코드 다이어트를 도와줌 장점 어노테이션 기반의 코드 자동 생성을 통한 생산성 증가 코드 다이어트를 통한 코드 가독성 및 유지보수성 증가 Ex> 기존 코드 public class Car { private String seqNumber; private String id; private String name; public Car() {} public Car(String seqNumber, String id, String name) { this.seqNumber = seqNumber; this.id = id; this.name = name; } pu..