본문 바로가기

Spring33

[Spring] 웹 MVC 개발 회원 웹 기능 - 홈 화면 추가홈 컨트롤러 추가controller>HomeController.java 생성회원 관리용 홈resources>templates>home.html 생성회원 웹 기능 - 등록회원 등록 폼 개발회원 등록 폼 컨트롤러controller>MemberController.java 에 코드 추가 - @GetMapping(value = "/members/new") 회원 등록 폼 HTMLresources>templates>members>createMemberForm.html 생성 회원 등록 기능 개발회원 등록 컨트롤러 - 웹 등록 화면에서 데이터를 전달 받을 폼 객체controller>MemberForm.java 생성회원 컨트롤러에서 회원을 실제 등록하는 기능controller>MemberCo.. 2024. 9. 11.
[Spring] Controller, 스프링 빈(Bean), DI(Dependency Injection) 스프링 빈과 의존관계스프링 빈(Bean)스프링 컨테이너에 의해 관리되는 자바 객체(재사용 가능한 소프트웨어 컴포넌트) 의존성 주입: DI(Dependency Injection)객체 의존관계를 외부에서 넣어주는 것 DI 방식필드 주입setter 주입생성자 주입// 1. 필드 주입@Autowired private MemberService memberService;// 2. setter 주입private MemberService memberService;@Autowiredpublic void setMemberService(MemberService memberService) { this.memberService = memberService;}// 3. 생성자 주입private final MemberServ.. 2024. 9. 9.
[Spring] Controller, Domain, Repository, Service / Test case 작성하기 회원관리 예제 - 백엔드 개발비즈니스 요구사항 정리데이터: 회원ID, 이름기능: 회원 등록, 조회아직 데이터 저장소 선정 x -> 가상의 시나리오 일반적인 웹 애플리케이션의 계층 구조컨트롤러: 웹 MVC의 컨트롤러 역할서비스: 핵심 비즈니스 로직 구현리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장되고 관리됨 클래스 의존관계인터페이스로 구현 클래스를 변경할 수 있도록 설계개발 진행을 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 회원 도메인, 리포지토리, 서비스 개발Domain - domain>Member.javaRepository interface - reposito.. 2024. 9. 9.
[Spring] Spring 웹 개발 기초 - 정적 컨텐츠, MVC와 템플릿 엔진, API 정적 컨텐츠스프링 부트 정적 컨텐츠 기능을 자동으로 제공 - statichttps://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content resources/static/hello-static.html 생성정적 컨텐츠 입니다. 실행 - http://localhost:8080/hello-static.html  정적 컨텐츠 이미지 - 웹 브라우저에서 주소를 입력하면 내장 톰캣 서버에서 요청을 받고, hello-static.html의 요청이 왔다고 스프링 부트한테 넘김- 스프링 부트는 먼저 컨트롤러에서 hello-static 찾음- 없으면.. 2024. 9. 4.
[Spring] Spring Boot 프로젝트 생성, 실행, 빌드하기 프로젝트 생성하기✔️IDE: IntelliJ 스프링 부트 스타터 사이트로 스프링 프로젝트 생성https://start.spring.io프로젝트 선택Project: Gradle - GroovySpring Boot: 3.3.3Language: JavaMetadataGroup: helloArtifact: hello-springDependenciesSpring WebThymeleaf(html을 만들어주는 템플릿 엔진)더보기Group - 기업명, 기업 도메인명 / Artifact - 빌드되면 나오는 결과물 = 프로젝트명 GENERATE > 압축 파일 풀기 > IntelliJ에서 파일 Open 프로젝트 실행 및 빌드동작 확인기본 메인 클래스 실행- @SpringBootApplication: 스프링부트 애노테이션으로.. 2024. 9. 4.
[Spring] 나만의 셀렉샵 프로젝트 - 배포(AWS RDS, EC2, MySQL, Filezilla, Port Forwarding) 프로젝트 배포하기AWS RDS의 MySQL을 연결그 동안은 H2를 사용했기 때문에, 서비스를 내렸다 올리면 모든 데이터가 초기화되었음➡️ 데이터를 클라우드에 저장하여 서비스를 껐다 켜도 데이터가 유지되도록 함AWS EC2에 배포누구나 서비스에 접속할 수 있게 하려면 원격으로 항상 작동하는 컴퓨터 필요도메인 붙이고 카카오톡으로 공유하기OG 태그: 카카오톡으로 링크를 공유할 때, 자동으로 이미지, 제목, 내용을 가져오게 함  AWS RDS 구매하고 MySQL 세팅하기 RDS 구매하기AWS에 접속하여 RDS 검색데이터베이스 생성 > 표준 생성 > MySQL > 프리 티어 선택설정 입력 - DB 인스턴스 식별자: 원하는 이름 작성 / 마스터 사용자 이름, 암호: DB 접속용으로 만들고 싶은 계정의 아이디, 비밀.. 2024. 7. 31.