일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- Vue.js
- Python
- Postman
- 기초100제
- 스프링
- springboot
- 코드업
- 오블완
- mariadb
- 티스토리챌린지
- Codeup
- MySQL
- 알고리즘
- 객사오
- 클린 코드
- thymeleaf
- Spring
- H2 설치
- GitHub
- JPA
- go
- 파이썬
- spring security
- 롬복
- 클린코드
- Gradle
- golang
- Spring Boot
- java
- Today
- Total
목록Programming/Spring (19)
nyximos.log
@ValidJava Bean Validation (JSR-380) 제공빈 검증기를 이용해 객체의 제약 조건을 검증한다.검증 그룹을 지원 ❌MethodArgumentNotValidException 발생@NotNull, @Size, @Email, @Min, @Max, @Pattern(regexp), @NotBlank 등의 유효성 검증 어노테이션을 사용한다.객체 필드에 위 어노테이션을 쓰고 컨트롤러 메소드에 @Valid를 붙여주자 @Valid 동작 원리Java Bean Validation API: @Valid는 Java Bean Validation API의 일부분입니다. 이 API는 표준화된 방법으로 객체의 유효성을 검증하는 메커니즘을 제공합니다.유효성 검사 트리거: @Valid 어노테이션이 적용된 필드나 메..
spring boot로 spring cloud 프로젝트를 만들고 build하니 이런 에러가 떴다.Execution failed for task ':compileJava'.> Could not resolve all files for configuration ':compileClasspath'. > Could not find org.springframework.cloud:spring-cloud-starter-config:. Required by: project : > Could not find org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:. Required by: project :..
프론트 컨트롤러 패턴 소개 프론트 컨트롤러 도입 전 프론트 컨트롤러 도입 후 FrontController 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 입구를 하나로 만들어 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다. 스프링 웹 MVC와 프론트 컨트롤러 스프링 웹 MVC의 DispatchServlet이 FrontController 패턴으로 구현되어 있음 프론트 컨트롤러 도입 v1 기존 코드를 최대한 유지하면서 프론트 컨트롤러를 도입한다. 서블릿과 비슷한 모양의 컨트롤러 인터페이스 도입 각 컨트롤러는 이 인터페이스를 구현하면 된다. 프론트 컨트롤러는 이 인터페이스를 호출해서 구현과 관계없..
PrintWriter의 getWriter() 메소드를 사용하여 서블릿과 자바 코드만으로 동적인 HTML을 만들 수 있다. 그러나 이러한 방법은 복잡하고 비효율적이므로 템플릿 엔진을 사용한다. 🍕 템플릿 엔진 HTML의 문서에서 필요한 곳만 코드를 적용하여 동적으로 변경해준다. 많은 코드를 줄일수 있고 재사용성이 높으며 유지보수가 용이하다. JSP, Thymeleaf, Freemarker, Velocity 등이 있다. 최근에는 Thymeleaf를 많이 쓰는 추세이며 레거시 프로젝트의 경우 JSP를 사용한 것을 많이 볼 수 있다. 템플릿 엔진을 사용하기 위해서 해당 라이브러리를 추가해야 한다. build.gradle에 사용할 dependency를 추가 dependencies{ //JSP 추가 implemen..
스프링 부트는 톰캣 서버를 내장하고 있어서, 톰캣 서버를 설치하지 않더라도 편리하게 서블릿 코드를 실행할 수 있다. 🤔 서블릿이란? 동적인 웹 페이지를 만들 때 사용되는 자바 기반 웹 애플리케이션 프로그래밍 기술 클라이언트의 요청을 처리 후 결과를 반환해준다. javax.servlet 및 javax.servlet.http 패키지는 서블릿을 작성하기 위한 인터페이스 및 클래스를 제공합니다. 개발자는 javax.servlet.http 패키지의 HttpServlet 클래스를 상속받아 서블릿을 구현할 수 있다. 🌳 서블릿 생명 주기 서블릿의 생명 주기는 서블릿이 배포된 컨테이너에 의해 제어된다. 클라이언트가 Servlet에게 요청하면 1. servlet의 인스턴스가 존재하지 않는 경우, 웹 컨테이너는 1-1 S..
[Spring Boot + Vue.js 연동] 프로젝트 개발 환경 세팅, axios로 데이터 전송, prettier와 cors 에러 해결 Vite 기반 Vue.js 프로젝트 만들 때는 위의 링크를 참고하세요. 1. Spring Boot 프로젝트 생성 저는 Gradle을 사용하였습니다. 위 링크를 참조해서 프로젝트를 생성해주세요. Dependency는 이렇게 추가했습니다. src/resources/application.properties 포트 번호를 변경해 줍니다. server.port=8086 아직 DB 설정을 안해주었으니 2. Vue.js 설치 터미널을 열어주세요. (Alt + F12) 저는 src 밑에 뷰 프로젝트 폴더를 설치할거라서 경로를 이동합니다 프로젝트 폴더를 설치할 경로로 이동하세요. cd ..
윈도우 기준입니다. Application을 Run하니 이런 에러가 떴다. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2022-02-04 00:22:40.284 ERROR 34156 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************APPLICATION FAILED TO START***************************Description:Web server failed to start. Port 8080 was already..
Project 빌드 툴 선택 Maven / Gradle Language 언어 선택 Project Metadata Name 프로젝트명 ArtifactId와 같아야 한다. Location 프로젝트 위치 GroupId 프로젝트별로 구분할 수 있는 고유한 이름 보통 기업의 domain을 사용한다. Java 패키지 네이밍 규칙을 따른다. - 도메인명을 반전하여 사용 원하는 갯수 만큼 하위 그룹을 만들 수 있고 프로젝트 구조를 사용한다. 다중 모듈 프로젝트인 경우 상위 그룹의 groupId에 새 식별자를 추가한다. ex) org.apache.maven, org.apache.maven.plugins, org.apache.maven.reporting ArtifactId 버전을 제외한 jar 이름 (빌드 결과물 이름) ..