본문 바로가기

Spring14

[스프링입문] CH06. 스프링 DB 접근 기술 1. H2 데이터 베이스 설치 데이터 베이스 파일 생성 - JDBC URL을 jdbc:h2:~/test 으로 최초 접속 - ~/test.mv.db 파일 생성확인 - 이 후 JDBC URL : jdbc:h2:tcp://localhost/~/test 테이블 생성 - Long(java) → bigint(db) - generate by deault as identity : null 값 일 때, 자동으로 id값 채워짐 drop table if exists member CASCADE; create table member ( id bigint generated by default as identity, /* null 값 일 때, 자동으로 id값 채워짐 */ name varchar(255), primary key (i.. 2021. 8. 13.
[스프링입문] CH05. 회원 관리 예제 - 웹MVC 개발 1. 회원 웹 기능 - 홈 화면 추가 웰컴 페이지 우선순위 - 1. 컨트롤러에서 매핑되는 것 2. index.html ⇒ 컨트롤러가 정적파일보다 우선순위 높다 # 홈 컨트롤러 @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } # 회원 관리용 홈 Hello Spring 회원 기능 회원 가입 회원 목록 2. 회원 웹 기능 - 등록 createMemberForm의 name과 MemberForm의 name 매핑 과정 : localhost:8080/members/new → localhost:8080/members/createMemberForm 이동 → 이름 등록 → action에 있는.. 2021. 8. 10.
[스프링입문] CH04. 스프링 빈과 의존관계 1. 스프링 빈 등록하는 2가지 방법 1.1 컴포넌트 스캔과 자동 의존관계 설정 목표 - 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계 준비 컴포넌트 스캔 원리 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록 @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 @Component를 포함하는 애노테이션도 스프링 빈으로 자동 등록 - @Controller - @Service - @Repository ⇒ @controller, @Service, @Repository → 스프링 빈에 자동 등록 @Autowired - 하나만 등록 가능한 스프링 컨테이너에 등록한 후 공유 (싱글톤) - 생성자에 사용하면 객체 생성 시점에 스프링 컨테이너에서 해.. 2021. 8. 10.
[스프링입문] CH03. 회원 관리 예제 - 백엔드 개발 1. 회원 관리 비지니스 요구사항 정리 비지니스 요구사항 - 데이터 : 회원ID, 회원이름 / 기능 : 회원 등록, 회원 조회 - 가정 : DB 선정X → 인터페이스로 구현하여 변경가능하도록 설계 (일반적인) 웹 애플리케이션 계층 구조 - 컨트롤러 : 웹 MVC의 컨트롤러 역할 - 서비스 : 비즈니스 도메인 객체를 가지고 핵심 비즈니스 동작 로직 구현 ex) 회원 중복가입 방지 등등 - 도메인 : 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 - 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 2. 회원 도메인과 리포지토리 만들기 Optional 클래스 Stream(스트림) clear() : 모든 데이터 삭제 public class Mem.. 2021. 8. 9.
[스프링입문] CH02. 스프링 웹 개발 기초 1. 정적 컨텐츠 정의 - 서버에서 하는 것 없이 파일을 그대로 웹브라우저에 내려주는 것 정적 컨텐츠 동작 - resource/static/fileName.html에 파일을 넣어두고, 포트번호/fileName.html을 검색하면 해당 html이 동작 - [ 동작 순서 ] 1) 웹 브라우저에서 localhost:포트번호/fileName.html 검색하면, 내장 톰켓 서버가 요청받음 2) 내장 톰캣 서버가 해당 html를 스프링에 넘기면, 컨트롤러에서 fileName이 존재하는지 확인 3) fileName에 해당하는 컨트롤러가 없다면, resource/static/fileName.html을 찾아 해당 html 반환 # src/main/resources/static/hello-static.html 정적 컨텐츠.. 2021. 8. 3.
Web server failed to start. Port 8080 was already in use. 1. 오류 해당 포트를 이미 사용 중 *************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. 2. 해결방법 다른 포트번호로 변경해야 함 방법 1) src - main - resources - application.properties 에서 포트 번호 변경 방법2) sr.. 2021. 7. 9.