본문 바로가기
728x90

Back-End/Spring14

1.객체지향설계와 스프링 1.객체지향설계와 스프링 목차 1.자바진영의 추운겨울과 스프링의 탄생 2.스프링이란? 3.좋은 객체 지향 프로그래밍이란? 4.좋은 객체지향 설계의 5가지 원칙 5.객체지향 설계와 스프링 1.자바진영의 추운겨울과 스프링의 탄생 EJB 자바진영의 표준기술 가격이 비쌈.. 진짜 어렵고 복잡하고 느리다 스프링 EJB 컨테이너 대체 단순함의 승리 현재 사실상 표준기술 하이버네이트 EJB 엔티티빈 기술을 대체 JPA 새로운 표준정의 스프링의 역사 2002년 로드존슨 책 출간 (EJB의 문제점 지적) 스프링의 핵심개념과 기반코드가 들어있다 유겐힐러 와 얀카로프가 로드존슨에게 오픈소스 프로젝트를 제안 2003년 스프링 프레임워크 출시 XML로 설정 2014년 스프링부트 출시 2.스프링이란? 스프링의 핵심 자바언어의 큰.. 2020. 12. 30.
7.AOP 7.AOP 목차 1.AOP가 필요한 상황 2.AOP적용 1.AOP가 필요한 상황 모든 메소드의 호출시간을 측정하고 싶다면? 공통관심사항 vs 핵심관심사항 회원가입시간 , 회원조회시간을 측정하고 싶다면? #### join ``` @Transactional public class MemberService { private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } public Long join(Member member){ long start = System.currentTimeMillis(); tr.. 2020. 12. 29.
6.스프링 DB접근기술 6.스프링DB접근기술 목차 2.스프링 통합테스트 3.스프링 JdbcTemplate 4.JPA 5.스프링 데이터 JPA 2.스프링 통합테스트 MemberServiceIntegrationTest 테스트추가! @SpringBootTest @Transactional class MemberServiceIntegrationTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; //... } 기존 MembeerServiceTest 에서 @SpringBootTest @Transactional를 추가한다 @Transactional을 추가하면 트랜잭션 롤백을한다 DB트랜잭션 롤백을 하면 앞에 실행된 것을 전부다 .. 2020. 12. 29.
5.순수 JDBC 접근기술 5.순수 JDBC 접근기술 목차 1.순수 JDBC 2.스프링 통합테스트 3.스프링 JdbcTemplate 4.JPA 5.스프링 데이터 JPA 1.순수 JDBC build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' resources/application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa.. 2020. 12. 28.
4.회원 관리 예제 - 웹 MVC개발 4.회원 관리 예제 - 웹 MVC개발 목차 1.홈 화면 추가 2.등록 3.조회 1.홈 화면 추가 HomeControlle @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } @GetMapping("/") = http://localhost:8080/ 을 의미한다 return "home" 은 templates-> home.html을 찾는다 templates에서 먼저 찾고 없으면 static를 찾는다 따라서 static->index.html은 우선순위에서 밀린다 2.등록 MemberController @GetMapping("/members/new") public String creat.. 2020. 12. 28.
3.스프링빈과 의존관계 3.스프링빈과의존관계 목차 1.컴포넌트 스캔과 자동 의존관계 설정 2.자바코드로 직접 스프링빈 등록하기 1.컴포넌트 스캔과 자동 의존관계 설정 MemberController @Controller public class MemberController { //new MemberService() -> 여러곳에서 쓰일수 있다 //private final MemberService memberService = new MemberService(); private final MemberService memberService; @Autowired public MemberController(MemberService memberService) { this.memberService = memberService; } } 오류가.. 2020. 12. 28.
728x90