@Pathvariable
2022. 5. 27. 10:16
Spring/Annotation
1. 개요 URL 경로에 변수를 넣어주는 기능 2. 사용법 @RequestMapping의 URL 정의 부분과 Method 내의 Parameter 부분을 활용한다. @RequestMapping 어노테이션 값으로 {템플릿 변수}를 사용한다. @Pathvariable 어노테이션을 이용해서 {템플릿 변수}와 동일한 이름을 갖는 파라미터를 추가하면 된다. @RequestMapping 어노테이션에 변수를 포함하고있고, 이들 변수는 @PathVariable 어노테이션이 적용된 동일한 이름을 갖는 파라미터에 매핑된다. @RequestMapping(value = "/user/email/{email}", method=RequestMethod.GET) @RequestMapping(value = "user/email/{ema..
@Data
2022. 5. 27. 09:15
Spring/Annotation
@Data는 @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode를 모두 설정해주는 유용한 어노테이션이다. @Data public class User { // ... } 클래스 레벨에서 @Data 어노테이션을 붙여 주면, 모든 필드를 대상으로 접근자와 설정자가 자동으로 생성되고, final 또는 @NotNull 필드 값을 파라미터로 받는 생성자가 만들어지며, toString, equals, hashCode 메소드가 자동으로 만들어진다.
equals, Null Pointer Exception 없이 사용하기
2022. 5. 26. 21:51
Spring/개념
public class equalsTest { public static void main(String[] args) { String allowed = null; if(allowed.equals("allowed")){ System.out.println("일치"); }else { System.out.println("불일치"); } } } 결과 : Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "allowed" is null at snippet.equalsTest.main(equalsTest.java:6) public class equalsTest { public sta..
@RequiredArgsConstructor
2022. 5. 26. 15:02
Spring/Annotation
1. @RequiredArgsConstructor 어노테이션을 사용한 생성자 주입 방법 생성자 주입의 단점은 위의 Constructor(생성자) 코드처럼 생성자를 만들기 번거옵다는 것, 이를 보안하기 위해 롬복을 사용하여 간단한 방법으로 생성자 주입을 할 수 있다. final이 붙거나 @NotNull이 붙은 필드의 생성자를 자동 생성해주는 롬봄 어노테이션 2. 의존성 주입의 종류 1) Constructor(생성자) public class ExampleCase { private final ChocolateService chocolateService; private final DrinkService drinkService; @Autowired public ExampleCase(ChocolateService ..
Thymeleaf 문법 정리
2022. 5. 9. 11:22
Spring/Thymeleaf
1. 템플릿 엔진(Template Engine) 웹 서비스를 만들 때에는 서버의 데이터와 정적 자원(html, css, image)을 조합해야 한다. 서버에서 데이터를 보내 웹 서비스를 만드는 방법에는 크게 2가지가 있다. SPA(Single Page Application) 최초 한 번 전체 페이지를 다 불러오고 응답 데이터만 페이지 특정부분 렌더링. SSR(Server Side Rendering) 전통적인 웹 애플리케이션 방식. 요청 시마다 서버에서 처리한후 새로 고침으로 페이지에 대한 응답. 보통 자바에서 웹 개발 시 JSP를 이용한다. JSP를 사용하면 형태의 스크립트릿을 사용하여 개발한다. 그러나 이 방식은 스크립트릿과 HTML이 혼재된 상태가 되고 HTML 태그의 반복적인 사용으로 인해 수정하기..
rs.next() 의 의미
2022. 3. 2. 18:10
Spring/개념
rs.next() 의 의미. rs = 결과값 (예 : 10,20,30,40) next() = 다음 데이터로 한칸 이동한다. 즉... rs의 값을 10,20,30,40 이렇게 4개를 구한것 같지만 앞에 null이 생략되어 실제 데이타는 null,10,20,30,40 이렇게 5개가 나열되어있다. next()을 이용해 null 에서 10 으로 이동한다.
Ch3-3_Spring DI 활용하기 - 이론
2022. 2. 8. 00:42
Spring/Ch3. Spring DI, AOP
1. 빈(bean)이란? 2. BeanFactory와 ApplicationContext 3. ApplicationContext의 종류 4. Root AC와 Servlet AC 5. ApplicationContext의 주요 메서드 6. IoC와 DI 6. 스프링 애너테이션 - @Autowired 6. 스프링 애너테이션 - @Resource 6. 스프링 애너테이션 - @Component 6. 스프링 애너테이션 - @Value와 @PropertySource 7. 스프링 애너테이션 vs 표준 애너테이션(JSR-330) 8. 빈의 초기화 - 와 setter 8. 빈의 초기화 - 와 생성자 8. 빈의 초기화 - , ,
Ch3-2_Spring DI 흉내내기(2)
2022. 2. 7. 15:28
Spring/Ch3. Spring DI, AOP
2. 객체 컨테이너(ApplicationContext) 만들기 3. 자동 객체 등록하기 - Component Scanning 4. 객체 찾기 - by Name, by Type 5. 객체를 자동 연결 하기(1) - @Autowired 6. 객체를 자동 연결 하기(1) - @Resource
Ch3-1_Spring DI 흉내내기
2022. 2. 7. 00:42
Spring/Ch3. Spring DI, AOP
1. 변경에 유리한 코드(1) - 다향성, factory method 1. 변경에 유리한 코드(2) - Map과 외부 파일
Ch1-20_데이터의 변환과 검증(2)
2022. 2. 6. 07:55
Spring/Chapter1
6. Validator란? 7. Validator를 이용한 검증 - 수동 8. Validator를 이용한 검증 - 자동 9. 글로벌 Validator 10. MessageSource 11. 검증 메시지의 출력
Ch1-19_데이터의 변환과 검증
2022. 2. 5. 11:41
Spring/Chapter1
1. WebDataBinder 2. RegisterController에 변환기능 추가하기 - 실습 3. PropertyEditor 4. Converter와 ConversionService 5. Formatter
Ch1-17_예외처리 - 이론
2022. 2. 5. 07:47
Spring/Chapter1
1. @ExceptionHandler와 @ControllerAdvice 2. @ResponseStatus 3. - web.xml 4. SimpleMappingExceptionResolver 5. ExceptionResolver 6. 스프링에서의 예외 처리
Ch1-16_예외처리 - 실습
2022. 2. 4. 17:00
Spring/Chapter1
Ch1-15_세션(Session) -실습
2022. 2. 4. 10:52
Spring/Chapter1
Ch1-14_세션(Session) - 이론
2022. 2. 4. 02:25
Spring/Chapter1
1. 세션이란? 2. 세션의 생성 과정 3. 세션 객체 얻기 4. 세션과 관련된 메서드 5. 세션의 종료
Ch1-13_쿠키(Cookie)란?
2022. 2. 3. 12:46
Spring/Chapter1
1. 쿠키란? 2. 쿠키의 작동 과정 3. 쿠키의 생성 4. 쿠키의 삭제와 변경 5. 쿠키 읽어 오기
Ch1-12_redirect와 foward
2022. 2. 3. 10:49
Spring/Chapter1
1. redirect 2. forward 3. RedirectView 4. JstlView 5. InternalResourceView 6. foward의 예시
Ch1-10_@RequestParam과 @ModelAttribute
2022. 2. 2. 00:42
Spring/Chapter1
1. @RequestParam 2. @ModelAttribute 3. WebDataBinder
Ch1-7_관심사의 분리, MVC패턴 - 원리
2022. 1. 30. 11:59
Spring/Chapter1
@Controller public class YoilTeller { @RequestMapping("/getYoil") // http://localhost:8080/ch2/getYoil?year=2021&month=10&day=1 // public static void main(String[] args) { public void main(HttpServletRequest request, HttpServletResponse response) throws IOException { // 1. 입력 // String year = args[0]; // String month = args[1]; // String day = args[2]; String year = request.getParameter("year");..
Ch1-6_관심사의 분리, MVC 패턴 - 이론
2022. 1. 30. 11:22
Spring/Chapter1
1. 관심사의 분리 Separation of Concerns 2. 공통 코드의 분리 - 입력의 분리 3. 출력(view)의 분리 - 변하는 것과 변하지 않는 것의 분리 4. MVC패턴 5. 컨트롤러 메서드의 반환타입