스프링

- AOP가 필요한 사항 - AOP(Aspect Orientend Programming) 관점 지향 프로그래밍 강의듣는동안 만든 서비스들(회원가입, 회원조회) 동작 시간 측정 로직을 메소드마다 하는 경우 유지가 힘들다. 이를 위해 AOP라는 기술이 필요하다. 시간 측정 기술과 부수적인 기능을 공통 관심 사항(cross - cutting concern)이라 부르고, 각 메소드 주요 기능을 (ex 회원검색) 핵심 관심 사항(core concern) 이라 부른다. 스프링이 제공하는 AOP기술을 사용하면 쉽게 관리할 수 있다. - AOP 적용 - 1. hello.hellospring 에 aop 패키지 추가후 TimeTraceAop를 만든다. 2.@Component 3. 실행 후 코드 - AOP 동작 방식 - A..
1 ) H2 데이터베이스 설치 DB는 H2로 사용하고 테스트 DB로 많이 사용하기도 한다. H2 DataBase를 먼저 설치해준다. http://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp www.h2database..
1 ) 회원 웹 기능 - 홈 화면 추가 아래의 사진으로 보면 GetMapping 메소드를 추가하고, viewResolver 만들어진 home.html 를 만든다. 만약 Controller에 기본경로인 "/" 로 들어왔을 때의 함수를 정의해주지 않으면 static폴더의 index.html이 열리게 된다. 2 ) 회원 웹 기능 - 등록 MemberController에서 "/members/new" 를 Get할 경우 함수를 정의해준다. templates -> members 폴더를 추가하고 createMemberForm.html 파일을 만든다. localhost:8080/members/new 에 접속을 해보면 아래의 사진과 같이 보여준다. input 안에 이름을 입력하고 등록버튼을 누르면 name이라는 key와 ..
컴포넌트 스캔과 자동 의존관계 설정 컨트롤러가 서비스를 통해서 기능을 동작하는 것을 의존관계가 있다고 표현한다. MemberController를 만들어서 MemberService, MemberRepository를 의존하여 사용하는 방법을 배운다. @Autowired : 스프링 빈으로 관리되고 있는 객체를DI(의존성 주입)해준다. 생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다. 이렇게 객체 의존관계를 외부에서 넣ㅎ어주는 것을 DI(Dependency Injection), 의존성 주입이라 한다. 이전 테스트에서는 개발자가 직접 주입했고, 여기서는 @Autowired에 의해 스프링이 주입해준다. 위의 사진을 보면 'Consider defining a bean ..
1 ) 비즈니스 요구사항 정리 데이터 : 회원ID, 이름을 만든다. 회원등록, 조회가되는 기능을 만든다. 데이터저장소는 선정되지 않았다는 가정하에 데이터를 메모리에 저장하고 조회하는 방식으로 만든다. 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리된다. 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계한다. 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정한다. 개발을 진행하기 위해서는 초기 개발 단계에서 구현체로 가벼운 메모리 기반의 ..
- 스프링 웹 개발 기초 - 1 ) 정적 컨텐츠 resources / staticdp hello-static.html을 만들면, localhost:8080/hello-static.html을 접근할 수 있다. 클라이언트가 요청시, 1순위로 Controller에 hello-static.html 관련 메소드가 있는지 찾고, 1순위에 없을시 2순위로 resources : static / hello-static.html을 찾는다. 2 ) MVC와 템플릿 엔진 @RequestParam의 required는 true가 default이기 때문에 설정을 안 했다면 값이 있어야 한다. hello-mvc @GetMapping("hello-mvc")를 만들고 localhost:8080/hello-mvc?name=spring으로..
이 정리의 목표는 내가 모르는것, 반드시 알고 있어야 하는 것 들에 대해서 정리하는 것이다. 클론코딩 하듯이 따라하면 나한테 남는게 없다. 따라하면서 다른 방식으로 실행해 보거나 모르는게 있으면 심화 정리를 간단하게 정리해보자. 스프링 프로젝트 생성 -> 스프링 부트 웹 서버 실행 -> 회원 도메인 개발 -> MVC 개발 -> DB연동(JDBC, JPA, 스프링데이터 JPA) -> 테스트 케이스 작성 순이다. 1. 프로젝트 환경설정 1 ) 프로젝트 생성 강의는 스프링, JAVA17로 진행한다. Spring Web : 웹 프로젝트 만들 때 사용하고 아파치톰캣 컨테이너 내장 Thymeleaf : HTML을 화면에 출력하는 템플릿엔진 중 하나이다. IntelliJ IDEA 기준으로 Open as project..
_ys2
'스프링' 태그의 글 목록