728x90
스프링 컨테이너 (애노테이션 기반 자바 코드 설정)// 스프링 컨테이너 생성ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); `ApplicationContext`를 스프링 컨테이너라고 한다.이때, ApplicationContext 는 인터페이스이며, AnnotationConfigApplicationContext 는 인터페이스의 구현체이다.스프링 컨테이너는 생성자가 클래스 정보를 받으면, 해당 클래스가 스프링 빈으로 자동 등록된다. 스프링 컨테이너는 두 가지 방식으로 설정할 수 있다.1. `XML 기반` (거의 사용 X)2. `애노테이션 기반의 자바 설정 클래스` (거의 대부분) 스프..
빈 출력하기모든 빈 출력하기@Test@DisplayName("모든 빈 출력하기")void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name=" + beanDefinitionName + " object=" + bean); }}스프링에 등록된 모든 빈 정보를 출력할 수 있다. 애플리케이션 빈 출력하기@Test@DisplayName("모든 빈 출력하기")void findAllBean..
AOP가 없던 상황모든 메서드의 호출 시간을 측정할 때 문제가 발생한다. 기존 방식- 시간을 측정하는 공통된 로직은 공통 관심 사항이다.- 핵심 비즈니스 로직과 섞여 유지보수가 어렵다. 기존 방식 코드public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); memberRepository.save(member); return member.getId(); // 이 3줄만 핵심 비즈니스 로직이다. } finally { long finish ..
H2 데이터베이스 설치- 교육용으로 적합- 개발, 테스트 용도로 가볍고 편리- 웹 화면 제공 H2 데이터베이스 설치를 위해 https://www.h2database.com/ 에 접속한 뒤, 원하는 버전을 선택해 설치한다.(H2 데이터베이스 홈페이지) 스프링 부트 2.x > 1.4.200 버전 다운로드스프링 부트 3.x > 2.1.214 버전 이상 다운로드 압축을 풀고,`h2` 파일에 들어가 `bin`폴더로 들어간다. 맥- `chmod 755 h2.sh` 로 권한을 줘야 실행이 된다.- `./h2.sh` 으로 h2.sh 파일을 실행한다. 윈도우- `./h2.bat` 로 h2.bat 파일을 실행한다. 정상 생성이 되지 않는 경우, url의 `:` 부분 앞 아이피 부분을 지우고, `localhost`로 수정하..
1. 컴포넌트 스캔으로 스프링 빈 자동 등록- @Component 가 붙은 클래스는 스프링 빈으로 자동 등록된다.- `@Controller`, `@Service`, `@Repository`, `@Configuration` 은 @Component 를 포함하고 있어 자동 등록된다.- 일반적으로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드에 사용 ComponentScan 을 통한 탐색 범위 지정@ComponentScan( basePackages = "hello.core",}- basePackages : 탐색할 패키지의 시작 위치를 지정하면, 해당 패키지를 포함한 하위 패키지까지만 스캔된다.(ex. "hello.core" 라면, hello.core 패키지를 포함한 하위 패키지만 스캔 (형제 패키지는 등..
정적 콘텐츠- static/index.html 을 올리면 Welcome page 기능 제공- 정적 리소스를 제공 (HTML, CSS, JS, 이미지 등)- 브라우저가 요청하면 spring 이 그대로 반환- 파일 자체로 클라이언트로 전달 resources/static 폴더에 html 파일을 생성하고주소창에 localhost:8080/hello-static.html 을 입력하면, 소스 코드 파일 그대로 전달된다. (hello-static 은 임의의 viewName)1. resources/static/hello-static.index 파일을 생성한다.2. localhost:8080/hello-static.html 을 입력하여 서버에 접속한다.3. 파일이름과 일치하는 @GetMapping("hello-stati..
프로젝트 생성하는 법스프링부트 스타터(https://start.spring.io/)에 들어간다. (스프링부트 스타터 홈페이지) Project : Gradle - Groovy (요즘은 거의 다 Maven 보다 Gradle 사용)Language : 원하는 언어 선택SpringBoot : 정식 릴리즈 버전 선택 (SNAPSHOT(만드는 중), M1(정식 릴리즈 X))Project Metadata : Group(보통 기업 명), Artifact(프로젝트 명), 나머지 기본값Dependencies : Spring Web, Thymeleaf(아니면 FreeMarker) 이렇게 선택한 후, `Generate` 를 눌러 다운로드하고 압축을 풀어 저장한다.인텔리제이를 열어 `Open or Import` 를 눌러 파일 안..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.