일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ERROR_MESSAGE
- 홈스쿨링
- 아이
- XACT_STATE
- MSSQL
- 교육법
- 앵커멤버
- dm_exec_requests
- java
- XWPF
- spring
- git
- 요약
- 프론트컨트롤러
- getChannel()
- 자바
- 요청매핑
- SQL
- TRANCOUNT
- renameTo
- 디스패처서블릿
- 진경혜
- 스프링
- 함수
- 튜닝
- 배치
- HWPF
- transferTo
- SQLSTATE=42705
- 재귀멤버
- Today
- Total
목록김영한 강의 요약 (25)
필기노트
1. 회원 등록 폼 - 뷰 username: age: 전송 첫 줄은 JSP문서라는 뜻이다. JSP 문서는 이렇게 시작해야 한다. 상대경로 사용, [현재 URL이 속한 계층 경로 + /save] 2. 회원 저장 - 뷰 성공 id=${member.id} username=${member.username} age=${member.age} 메인 로 모델에 저장한 member 객체를 꺼낼 수 있지만, 너무 복잡해진다. JSP는 ${} 문법을 제공하는데, 이 문법을 사용하면 request의 attribute에 담긴 데이터를 편리하게 조회할 수 있다. 3. 회원 목록 조회 - 뷰 메인 id username age ${item.id} ${item.username} ${item.age} 모델에 담아둔 members를 JS..
예를 들어서 할인 서비스를 제공하는데, 클라이언트가 할인의 종류(rate, fix)를 선택할 수 있다고 가정해보자. 스프링을 사용하면 소위 말하는 전략 패턴을 매우 간단하게 구현할 수 있다. 주입 분석 public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(FixDiscountPolicy.class, RateDiscountPolicy.class, DiscountService.class); } static class DiscountService { private final Map policyMap; @Autowired public DiscountServi..
기본 코드 @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } } 생성자가 딱 1개만 있으면 @Autowired 를 생략할 수 있다. @Compo..
목차 1. 자바 코드로 직접 스프링 빈 등록하기 2. 컴포넌트 스캔과 의존관계 자동 주입 3. @Component 를 포함하는 다른 애노테이션 4. 조회 빈이 2개 이상 -> 오류 5. 자동, 수동의 올바른 실무 운영 기준 1. 자바 코드로 직접 스프링 빈 등록하기 1) @Configuration AppConfig에 설정을 구성한다는 뜻의 @Configuration 을 붙여준다. 각 메서드에 @Bean 을 붙여준다. 이렇게 하면 스프링 컨테이너에 스프링 빈으로 등록한다. 스프링 컨테이너는 @Configuration 이 붙은 AppConfig 를 설정(구성) 정보로 사용한다. 여기서 @Bean 이라 적힌 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다. 이렇게 스프링 컨테이너에 등록된 객체..
객체 인스턴스를 하나만 생성해서 공유하는 싱글톤 방식은 여러 클라이언트가 하나의 같은 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지(stateful)하게 설계하면 안된다. 무상태(stateless)로 설계해야 한다! 특정 클라이언트에 의존적인 필드가 있으면 안된다. 특정 클라이언트가 값을 변경할 수 있는 필드가 있으면 안된다! 가급적 읽기만 가능해야 한다. 필드 대신에 자바에서 공유되지 않는, 지역변수, 파라미터, ThreadLocal 등을 사용해야 한다. 스프링 빈의 필드에 공유 값을 설정하면 정말 큰 장애가 발생할 수 있다!!! ThreadA가 사용자A 코드를 호출하고 ThreadB가 사용자B 코드를 호출한다 가정하자. public class StatefulService { private..