목록분류 전체보기 (7)
국개장

섹션 8. AOPAOP가 필요한 상황요약 : 1. 모든 메소드의 호출 시간을 측정하고 싶다면?- 근데 회원가입, 회원 조회에 시간을 측정하는 기능은 핵심 관심 사항이 아니다. 시간을 측정하는 로직은 공통 관심 사항이다. 1000개의 메서드에 1000개의 로직 코드를 짜서 관리하기란 너무 불편하고 어지럽다. 2. 공통 관심 사항(cross-cutting concern) 과 핵심 관심 사항(core concern)으로 분리해서 유지보수, 관리하기 편하게 개발하자. 3. 그렇게 도와주는 게 AOP(Aspect Oriented Programming)다. 관점 지향 프로그래밍. package hello.hellospring.service;@Transactionalpublic class MemberService {..

섹션 7. 스프링 DB 접근 기술H2 데이터베이스 설치 java에서 DB에 연결할 때 필요한 라이브러리가 JDBC인데, 20년 전으로 돌아가서 순수한 JDBC로 어떻게 개발하는 지를 경험시켜줄 것이다. 순수한 JDBC 다음으로는 스프링이 중복을 다 제거해준 JDBC 템플릿, 그리고 더욱 더 혁신적인 기술로 JPA라는 기술이 있다. 암튼 일단 먼저 DB를 설치해주어야 하는데, H2라는 가볍고 편리한 DB를 사용할 것이다. 공식 사이트에서 다운 받고 설치하면 아래 사진처럼 H2 Console이 뜬다(윈도우 갓갓). 중요: 이후부터는 JDBC URL을 다르게 접근해야 한다. 이렇게 파일로 접근하게 되면 웹 콘솔과 애플리케이션이 동시에 할 때 같이 접근이 안될 수가 있다고 한다. 오류 나고 파일 충돌나고 ..

섹션 6. 회원 관리 예제 - 웹 MVC 개발회원 웹 기능 - 홈 화면 추가 '/' 경로 페이지 만들기 package wink.spring_boot_study.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public String home() { return "home"; }} Hello Spring 회원 기능 회원 가입 회원 목..

섹션 5. 스프링 빈과 의존관계 스프링을 쓰면 웬만한 것들은 다 스프링빈으로 등록해서 써야 한다. 그렇게 해야 얻는 이점이 많다고 한다.컴포넌트 스캔과 자동 의존관계 설정 private final MemberService memberService = new MemberService();위처럼 쓰면 각 컨트롤러에서 MemberService 객체를 별도로 다 만들게 되는 비효율이 발생한다. 그러므로 spring container에 등록을 하고 사용해서 객체 하나만 만들어지도록 하자. private final MemberService memberService; @Autowired public MemberController(MemberService memberService) { this...

섹션 4. 회원 관리 예제 - 백엔드 개발 비즈니스 요구사항 정리 1. 데이터 저장소가 선정되지 않고 개발해야 한다는 가정하에 실습을 진행한다.2. interface로 구현체를 만들고 메모리에 저장하는 방식으로 진행할 것이다. 회원 도메인과 리포지토리 만들기 Member 도메인 생성.package wink.spring_boot_study.domain;public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; }..

[스트링 입문] 섹션 3. 스프링 웹 개발 기초 정적 컨텐츠1. 브라우저에서 hello-static.html이라는 경로로 접속을 하면2. 먼저 hello-static 관련 컨트롤러를 찾는다. 만약 컨트롤러가 없다면3. resources/static/hello-static.html 파일을 찾는다.4. 해당 파일을 브라우저에 건내준다. MVC와 템플릿 엔진 1. hello-mvc 경로로 접속2. 관련 컨트롤러를 찾는다.3. 컨트롤러가 있으면 작업을 처리하고 템플릿 엔진은 viewResolver에게 key와 value값을 템플릿 엔진 처리 하도록 한다.4. key value가 적용된 html파일이 브라우저에 전송된다. 아래와 같은 코드가 바로 controller 코드이다. @GetMapping("h..
섹선 1, 2 1. 프로젝트 생성 먼저 스프링 부트 환경설정을 위해 Java를 설치해주었다. 버전은 가장 최신버전인 24를 선택했다. 추후에 문제가 생기면 다운그레이드를 하거나 할 생각이다. spring boot를 기반으로 프로젝트를 쉽게 세팅할 수 있게 해주는 보일러플레이트 생성 사이트?이다. spring에서 운영한다고 한다. Maven과 Gradle 같은 빌드 툴들은 의존 관계를 다 관리해주는 툴이라고 하는데, 요즘에는 대부분 Gradle을 사용하니 Gradle로 시작하면 된다고 한다. 추가 라이브러리로는 Spring Web과 Thymeleaf를 선택하고 다운받으면 된다. 에러 페이지가 뜨면 성공이다. 2. 라이브러리 살펴보기 예전에는 톰캣을 통해 웹 서버 따로, 자바 소스..