컨트롤러 객체 없이 뷰에 요청 전달하기 웹 애플리케이션에서 요청이 오면 그에 해당하는 컨트롤러 객체가 필요하다. 하지만 단순 페이지만 사용자에게 보여주기 위해서는 굳이 컨트롤러 객체가 필요하지 않을 수 있다. 아래 예제를 통해 알아보았다. 예제WebConfig.java@Configurationpublic class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { // 요청 url: / registry.addViewController("/").setViewName("home"); // 요청 url: /no-view, 요청 페이지 없음 re..
JPA 페이징 처리 JPA는 페이징 처리를 위한 메서드를 제공한다. 이 메서드를 통해 페이지를 위한 쿼리를 자동으로 만들어준다. 아래 예제는 JPQL으로 구현하였다. 페이징 쿼리 메서드setFirstResult(int startPosition): 조회 시작 위치(0부터 시작)setMaxResults(int maxResult): 조회할 데이터 수예제PagingMember.java@Entitypublic class PagingMember { @Id @GeneratedValue private Long id; private int age; // getter, setter 생략} PagingMain.java// 엔티티 매니저 생략System.out.println("회원 저장");for(..
@Enumerated이란? Java의 ENUM 타입을 DB로 저장한다. 저장 방법은 두 가지가 있는데, 첫 번째는 ENUM 값의 위치로 저장하는 방법. 두 번째는 ENUM 값을 문자열로 DB에 저장하는 방법이 있다. @Enumerated 사용 시 주의할 점 @Enumerated 사용 시 주의할 점이 있는데 @Enumerated은 기본 값이 EnumType.ORDINAL(ENUM 값의 위치로 저장)이다. 만약 기본 값으로 저장할 때 어떤 문제가 발생하는지 아래 예제를 통해 알아보았다. 문제점 예제Member.java@Entitypublic class Member { @Id @GeneratedValue private Long id; @Column(name = "user_name") ..
ReentrantLock이란? sychronized의 BLOCKED 상태, 무한대기 등 임계 영역 관리 한계를 극복하기 위해 자바에서 제공한 클래스이다. 아래 예제를 통해 알아보았다. Thread sychronized이란?" data-og-description="sychronized이란? java의 키워드이며 메서드에 선언한다. 선언된 메서드는 멀티스레드 상황에서 하나의 스레드만 실행할 수 있다. 아래 예제를 통해 알아보았다. sychronized 사용X 예제Main.javapublic clas" data-og-host="oniic.tistory.com" data-og-source-url="https://oniic.tistory.com/176" data-og-url="https://oniic.tistor..
