All Post45 [SpringBoot] 웹 MVC 개발 WelcomePage 우선순위 1. HomeController 2. index.html @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } @PostMapping("/members/new") public String create(MemberForm form) { Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } URL은 같아도 Post 인지 Get인지에 따라서 Mapping 되는 메소드가 서로 다름 return "redirect:/"는 특정.. 2021. 12. 7. [SpringBoot] 스프링 빈과 의존관계 - 자동의존관계(컴포넌트 스캔), 자바코드로 직접 등록하기 컴포넌트 스캔과 자동의존관계설정 어노테이션을 보고 스프링 컨테이너에 등록 및 연결 (@AutoWired) @Component 애노테이션이 있으면 스프링 빈으로 자동등록 (@Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다.) @Component를 포함하는 애노테이션 : @Controller, @Service, @Repository 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록 (유일하게 하나만 등록하여 공유) 따라서 같은 스프링 빈이면 모두 같은 인스턴스 @Controller 어노테이션이 있을 경우 스프링이 따로 관리를 한다. 여러 곳에서 쓰이는 객체는 생성 후 스프링 컨테이너에 보관해서 같이 쓴다. 매번 new를 쓰지 않아도 되는 장점.. 2021. 12. 7. [SpringBoot] 스프링 백엔드 개발 예제 - 회원 서비스 회원 도메인과 리포지토리 만들기 class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @AfterEach // 메소드가 끝나고 호출하는 콜백백 메소 public void afterEach() { repository.clearStore(); } @Test public void save() { Member member = new Member(); member.setName("spring"); repository.save(member); // Member result = repository.findById(member.getId()).get(); // System.out.println.. 2021. 12. 6. [IntelliJ] 모든 단축키 모음 | General ⌘0~9(Alt+#[0-9]) : 각 단축키에 해당하는 도구창을 엽니다. 예를 들어 ⌘1 을 사용하면 프로젝트 도구창을 토글할 수 있습니다. ⌘⇧F12(Ctrl+Shift+F12) : 편집기(Editor) 영역을 최대로 크기로 토글합니다.( Toggle maximizing editor) ⌘,(Ctrl+Alt+S) : 설정(Preferences) 창을 엽니다. ( Open Settings dialog ) ⌘;(Ctrl+Alt+Shift+S) : 프로젝트 구조를 확인 및 변경 할 수 있는 창을 엽니다. 해당 메뉴에서 Modules, Libraries, Facets, Artifacts, SDK,Project compiler output 등을 확인 및 변경 할 수 있습니다.(open Proje.. 2021. 12. 4. [IntelliJ] 코딩테스트 연습할 프로젝트 만들기 JUnit을 활용한 테스트 프로젝트를 만들면 좋을 것 같다 CodingPractice라는 기본 Project 생성 테스트용 Directory를 생성 [프로젝트] 우클릭 → [Open Module Setting] → [Modules] → 중앙의 방금 만든 test 디렉토리 클릭 후 Tests 탭으로 test 디렉토리 만들기 간단한 클래스를 만들고 테스트를 원하는 메소드 우클릭 후 [Go to] > [Test] 클릭 [Create a new Test] 클릭 후 Junit 버전과 클래스 이름을 입력한다. 아래 처럼 Fix 버튼이 활성화 되어있을 경우 버전에 맞는 JUnit 라이브러리를 설치해주면 된다. 멤버를 선택해주면 테스트 클래스가 생성이 된다! 아래와 같이 코드를 작성해준다 import org.junit.. 2021. 12. 1. [SpringBoot] Spring 웹 개발 기초 - MVC 정적 컨텐츠 resources > static에 있는 파일명을 그대로 가져옴 동적 컨텐츠 MVC : Model / View / Controller 템플릿 엔진 : Html을 동적으로 만드는 역할 (Thymeleaf) Thymeleaf의 기능 중 파일을 우클릭해서 절대 경로를 가져올 수 있음 @GetMapping("hello-mvc") public String helloMvc(@RequestParam(value = "name", required = false) String name, Model model){ model.addAttribute("name",name); return "hello-template"; } 안녕하세요. 손님 API @GetMapping("hello-string") @ResponseB.. 2021. 12. 1. [SpringBoot] Spring Boot 맛보기 (2) - View & Build 웹 어플리케이션을 만든다면 가장 처음 만나는 웰컴 페이지 만들기! SRC > RESOURCES > STATIC(정적인 파일 경로)에 index.html을 만들고 서버를 켜면 웰컴페이지가 뜬다! 처음 실행될때 웰컴 페이지는 static content location에 있는 index.html을 먼저 찾는다고함 SpringBoot 공식 문서 : spring.io Thymeleaf 공식 문서 : https://www.thymeleaf.org/ 웹 어플리케이션의 첫번째 Controller 만들기! 먼저 Controller라는 패키지를 만들고 HelloController (java class)를 만든다 Controller에는 @Controller 어노테이션이 필수 package hello.hellospring.C.. 2021. 12. 1. [SpringBoot] Spring Boot 맛보기 (1) - 초기 프로젝트 설정 Java11 IDE : IntelliJ 요샌 웹에서 간단하게 기본 프로젝트를 다운 받을 수 있다 Project 설정 는 라이브러리 관리 하는 두종류의 프로젝트를 쓰는데 처음 학원에서는 Maven을 사용했지만 요새는 Gradle을 쓴다고한다. (이유는 차차 알아가는 걸로...) Spring Boot 버전 최신 버전으로! Project Metadata Java 버전 확인 할 것 Dependencies 라이브러리를 미리 설정하는 곳이라고 하는데 이렇게 설정 해 놓으면 아래와 같이 자동으로 설치 되도록 써준다 SpringWeb은 앞으로 Web Application을 만들거기 떄문에 다운받는거라고 했고, Thymeleaf는 http 관련 엔진..이라고 했던것 같다 자세한건 찾아봐야할듯... plugins { id.. 2021. 12. 1. [프로그래머스] 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 .. 2021. 12. 1. 이전 1 2 3 4 5 다음