Spring

Spring/공부

유효성 검사 예제 with jpa

gradle plugins { id 'java' id 'org.springframework.boot' version '2.7.13' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '1.8' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter..

Spring/공부

Spring 유효성 검사 어노테이션 목록

// 필드 위에 작성한다. @Null // null만 혀용합니다. @NotNull // null을 허용하지 않습니다. "", " "는 허용합니다. @NotEmpty // null, ""을 허용하지 않습니다. " "는 허용합니다. @NotBlank // null, "", " " 모두 허용하지 않습니다. @Email // 이메일 형식을 검사합니다. 다만 ""의 경우를 통과 시킵니다. @Email 보다 아래 나올 @Patten을 통한 정규식 검사를 더 많이 사용합니다. @Pattern(regexp = ) // 정규식을 검사할 때 사용됩니다. @Size(min=, max=) // 길이를 제한할 때 사용됩니다. @Max(value = ) // value 이하의 값을 받을 때 사용됩니다. @Min(value = )..

Spring/공부

queryDSL 예제용

gradle 설정 plugins { id 'java' id 'org.springframework.boot' version '2.7.13' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '1.8' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-star..

Spring/공부

Jpa 맛보기 - 1

• 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에 서 공유 • 엔티티 매니저는 쓰레드간에 공유X (사용하고 버려야 한다). • JPA의 모든 데이터 변경은 트랜잭션 안에서 실행 JPQL로 EntitiyManager에게 쿼리 전달 한 결과 JPQL • JPA를 사용하면 엔티티 객체를 중심으로 개발 • 문제는 검색 쿼리 • 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 • 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능 • 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검 색 조건이 포함된 SQL이 필요

Spring/공부

메시지 국제화(언어 선택)

각 나라별로 홈페이지 화면 언어 선택을 할 수 있게 하자. 그러기 위해선 스프링이 제공하는 MessageSource 를 스프링 빈으로 등록 하여야 하는데 @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages", "errors"); messageSource.setDefaultEncoding("utf-8"); return messageSource; } 직접 빈으로 등록을 해도 되지만 스프링 부트에선 기본적으로 MessageSource를 자동으로 스프링 빈에 등록되어있다. 설정 ..

Spring

Springboot 에서 Bcrypt를 이용한 문자열 암호화

https://bbubbush.tistory.com/36 @Slf4j @RestController public class test { public String encodeBcrypt(String plainText, int strength){ String changed = new BCryptPasswordEncoder(strength).encode(plainText); System.out.println("changed = " + changed); return changed; } public boolean matchesBcrypt(String planeText, String hashValue, int strength){ BCryptPasswordEncoder passwordEncoder = new BCryp..

Spring/공부

서블릿 -> jsp

서블릿: 자바 안에서 html 만들기 JSP: html 안에 자바 넣기 jsp : html(jsp) 안에 자바 코드 넣기(객체) 우선 jsp는 war로만 가능하다. JSP 라이브러리 추가 //JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'jakarta.servlet:jakarta.servlet-api' //스프링부트 3.0 이상 implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' // 스프링부트 3.0 이상 implementation 'org.glassfish.web:jak..

Spring/공부

서블릿 데이터 요청, 응답 방법

서블릿 위해 HttpServlet를 클래스에서 상속 받아야함 @WebServlet(name = "requestBodyJsonServlet", urlPatterns = "/request-body-json") public class RequestBodyJsonServlet extends HttpServlet { } HTTP 요청 데이터 GET 쿼리 파라미터 (1) 전체 파라미터 조회 request.getParameterNames().asIterator() .forEachRemaining(paramName -> System.out.println(paramName + "=" + request.getParameter(paramName))); (2) 단일 파라미터 조회 request.getParameter("받은 ..

synclair
'Spring' 카테고리의 글 목록 (3 Page)