// 필드 위에 작성한다. @Null // null만 혀용합니다. @NotNull // null을 허용하지 않습니다. "", " "는 허용합니다. @NotEmpty // null, ""을 허용하지 않습니다. " "는 허용합니다. @NotBlank // null, "", " " 모두 허용하지 않습니다. @Email // 이메일 형식을 검사합니다. 다만 ""의 경우를 통과 시킵니다. @Email 보다 아래 나올 @Patten을 통한 정규식 검사를 더 많이 사용합니다. @Pattern(regexp = ) // 정규식을 검사할 때 사용됩니다. @Size(min=, max=) // 길이를 제한할 때 사용됩니다. @Max(value = ) // value 이하의 값을 받을 때 사용됩니다. @Min(value = )..
• 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에 서 공유 • 엔티티 매니저는 쓰레드간에 공유X (사용하고 버려야 한다). • JPA의 모든 데이터 변경은 트랜잭션 안에서 실행 JPQL로 EntitiyManager에게 쿼리 전달 한 결과 JPQL • JPA를 사용하면 엔티티 객체를 중심으로 개발 • 문제는 검색 쿼리 • 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 • 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능 • 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검 색 조건이 포함된 SQL이 필요
각 나라별로 홈페이지 화면 언어 선택을 할 수 있게 하자. 그러기 위해선 스프링이 제공하는 MessageSource 를 스프링 빈으로 등록 하여야 하는데 @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages", "errors"); messageSource.setDefaultEncoding("utf-8"); return messageSource; } 직접 빈으로 등록을 해도 되지만 스프링 부트에선 기본적으로 MessageSource를 자동으로 스프링 빈에 등록되어있다. 설정 ..
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..
서블릿: 자바 안에서 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..