본문 바로가기
반응형

Java | Spring/Spring 입문20

[스프링 입문] 7. AOP AOP AOP란? AOP는 Aspect(측면,양상) Oriented(지향) Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다. 출처: https://engkimbs.tistory.com/746 [새로비] AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? ( 천개의 메소드에 시간을 측정하라는 지시가 있었고 , 지루한 시간을 버텨내며 작성하였으나, 전부 ms단위로 변경하라는 지시가 내려진다면? 또 반복적이고 지루한 작업을 하게 될 것이다.) 예제로 MemberS.. 2022. 4. 9.
[스프링 입문] 6. 스프링 DB접근 기술 이전까지는 Memory에 저장을 했기 때문에, 서버를 재구동하거나 내려가면 데이터가 사라진다. 실무처럼 DB에 저장하고 관리를 해보자. 이를 위해 JDBC를 이용할 것이다. JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. JDBC이용 방법은 다양하지만, 지금은 아래 4가지 순서로 알아가 보자. 1. 순수 JDBC 2. 스프링 JDBCTemplate 3. JPA (객체를 DB에 쿼리없이 저장 가능) 4. Spring Data JPA (JPA를 편리하게 사용할 수 있도록 지원하는 모듈) DB는 교육용으로 좋은 h2 DB를 이용하였다. (설치과정 생략) 설치 .. 2022. 4. 4.
[스프링 입문] 5. 회원 관리 예제 - 웹 MVC 개발 홈화면 추가 및 회원 등록,조회 기능을 추가 해 보자. 1. Home 컨트롤러 및 html 추가 @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } home.html 추가 Hello Spring 회원 기능 회원 가입 회원 목록 앞서 게시한 정적 컨텐츠 에서 설명했듯이, 스프링 컨테이너에서 컨트롤러를 먼저 확인한다. 기존에는 루트 ( / ) 컨트롤러가 없었기 때문에, 정적 컨텐츠인 index.html을 반환하였다. 현재는 HomeController의 추가 및 루트(/) 리턴값으로 home을 설정했기 때문에, 템플릿 폴더의 home.html을 반환해 준다. 실행 결과 2. 회원가입.. 2022. 3. 14.
[스프링 입문] 4.2 자바 코드로 직접 스프링 빈 등록하기 순서 4. 스프링 빈과 의존관계 4.1 컴포넌트 스캔과 자동 의존관계 설정 4.2 자바 코드로 직접 스프링 빈 등록하기 4.2 자바 코드로 직접 스프링 빈 등록하기 이전에 진행했던 컴포넌트 스캔과 자동 의존관계 설정 방식 (@Service, @Repository, @Autowired 등을 사용하여 스프링이 자동으로 빈을 인식하는 방식)말고, 자바코드로 직접 스프링 빈을 하나하나 등록해 보자. 먼저, 컨트롤러를 제외한 @Service, @Repository 를 없애보자. 없애면 컴포넌트 스캔을 할 수 없으니 컨트롤러 생성자의 매개변수에 빨간 밑줄이 그어질 것이다. 다음으로 hellospring directory 에 SpringConfig라는 클래스를 하나 만들고, @Configuration ( 구성 ) 어.. 2022. 3. 13.
[스프링 입문] 4.1 스프링 빈과 의존관계 순서 4. 스프링 빈과 의존관계 4.1 컴포넌트 스캔과 자동 의존관계 설정 4.2 자바 코드로 직접 스프링 빈 등록하기 4.1 컴포넌트 스캔과 자동 의존관계 설정 스프링 빈을 등록하고, 의존관계 설정하기 멤버 컨트롤러가 회원서비스와 리포지토리를 사용할 수 있게 의존관계를 준비하자. 멤버 컨트롤러에 의존관계 추가 먼저 컨트롤러를 생성 해 보자 @Controller public class MemberController { } MemberController 위에 @Controller 어노테이션을 작성하면, 스프링은 이 어노테이션을 보고 멤버컨트롤러 객체(스프링 빈)를 생성해서 스프링 컨테이너에 넣고, 스프링이 관리한다. MemberController에 MemberService추가 @Controller publ.. 2022. 3. 12.
[스프링 입문] 3.5 회원 서비스 테스트 순서 3. 회원 관리 예제 - 백엔드 개발 3.1 비즈니스 요구사항 정리 3.2 회원 도메인과 리포지토리 만들기 3.3 회원 리포지토리 테스트 케이스 작성 3.4 회원 서비스 개발 3.5 회원 서비스 테스트 3.5 회원서비스 테스트 회원서비스 클래스를 테스트 해 보자. 1. Test 디렉토리에 Test파일 생성 (클래스명 MemberService 에 커서를 두고 단축키를 이용해서 생성할 수도 있다.) 더보기 📌 새로운 테스트 생성 단축키 : command + shift + t (⌘+⇧+t) / 윈도우 : ctrl + shift + t 2. 테스트 코드를 만들어 준 뒤 각 메소드별 로직을 작성해 보자. 📌 given(주어진 것), when(실행) , then(결과) 패턴을 기본으로 진행하면 많음 도움이 된.. 2022. 2. 27.
반응형