스터디/Spring37 [김영한님 - 스프링의 핵심원리] 싱글톤 컨테이너 싱글톤이 필요한 이유 @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer(){ AppConfig appConfig = new AppConfig(); //1. 조회: 호출할 때마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2 조회: 호출할 때마다 객체를 생성 MemberService memberService2 = appConfig.memberService(); //참조값이 다른 것을 확ㅇ니 System.out.println("memberService1 = " + memberService1); System.out.println("memberService2 = " + membe.. 2022. 10. 1. Springboot test @Transactional rollback is not working 문제 인식 @Transactional과 @Test 어노테이션을 사용하면, test할 시에 rollback이 되어야 하는 데(db에 테스트 값이 저장되지 않아야 하는데) rollback이 되지 않았다. 현재 상황 @SpringBootTest @Transactional class JdbcTemplateMemberRepositoryTest { @Autowired private JdbcTemplateMemberRepository jdbcTemplateMemberRepository; @Test public void save() { // given Member member = new Member(); member.setMemberName("철수"); member.setMemberId(180000); member.s.. 2022. 9. 26. [김영한님 - 스프링의 핵심원리] Spring - 스프링이 필요한 이유(2) 포스팅을 시작하지 앞서, 스프링이 필요한 이유(2)의 내용을 정리하겠습니다. public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } } 현재, MemberServiceImpl 클라스는 MemberReposit.. 2022. 9. 19. [김영한님 - 스프링의 핵심원리] Spring - 스프링이 필요한 이유(1) 스프링이 필요한 이유 결론부터 말하자면 , 스프링은 좋은 객체지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크이다. 스프링을 공부하기전 스프링의 필요한 이유를 알아야한다. 그러기 위해서 먼저, 객체지향적으로 설계된 자바 코드를 보도록 하겠다. 객체지향이란?? “객체”들의 모임, 각각의 객체는 메세지를 주고받고, 데이터를 처리함. 유연하고 변경이 용이(부품을 갈아끼우듯이) ⇒ 다형성 객체 지향 특징 상속 다형성 추상화 캡슐화 클라이언트는 인터페이스만 알면 된다. 인터페이스 → 구현클래스 다형성을 통해 인터페이스를 구현한 객체 인스턴스를 실행시점에 유연하게 변경할 수 있다. ⇒ 클라이언트는 변경하지 않고, 서버의 구현 기능을 유연하게 변경할 수 있다. 결론 : 인터페이스를 잘 설계해야한다. 좋은 객체 .. 2022. 9. 18. 파일 업로드 - BindException 에러 해결, multipart 상황은 아래와 같다. 글 등록을 하려 하는데 아래와 같은 에러가 발생했다. WARN : org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolved [org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errorsField error in object 'boardVO' on field 'uploadFile': rejected value [C:\Users\19431\Pictures\Camera Roll\포메라니1안.jpeg]; codes [typeMismatch.boardVO... 2022. 8. 26. @ModelAttribute의 특징 메소드의 파라미터로 사용되는 경우 @ModelAttribute와 @RequestParam의 차이 @RequestParam @RequestParam 어노테이션은 사용자가 요청시 전달하는 값을 Controller의 매개변수로 1:1 맵핑할 때 사용되는 어노테이션입니다. public String getHealthBoardList( @RequestParam(value = "searchCondition", defaultValue = "TITLE", required = false) String condition, @RequestParam(value = "searchKeyword", defaultValue = "", required = false) String keyword, HttpServletRequest req.. 2022. 8. 25. 이전 1 2 3 4 5 6 7 다음 728x90