스프링 핵심 원리 (2)
·
Spring
새로운 할인 정책 개발- 고정 할인이 아닌 정률 할인으로 구매 금액의 10%를 할인으로 변경 정률 할인 클래스package hello.core.discount;import hello.core.member.Grade;import hello.core.member.Member;public class RateDiscountPolicy implements DiscountPolicy { private int discountPercent = 10; @Override public int discount(Member member, int price) { if (member.getGrade() == Grade.VIP) { return price * discountPercen..
스프링 핵심 원리(1)
·
Spring
회원 도메인 설계회원 도메인 요구사항- 회원 가입, 조회 가능- 회원은 일반회원, VIP회원 두 가지 등급으로 관리- 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 회원 등급package hello.core.member;public enum Grade { BASIC, VIP} 회원 Entitypublic class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.gra..
스프링 기초
·
Spring
스프링을 사용한 개발에 기본적인 흐름을 배워보자 MVC, 템플릿 엔진- MVC : Model, View, Controller @Controllerpublic class HelloController { @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } 스프링 MVC와 타임리프 템플릿 엔진을 사용한 코드이다. 1. @Controller - 이 클래스가 spring MVC의 컨트롤러임을 나타내는 어노테이션, 브라우저의 요청을 처리하고 뷰(..
스프링 - IoC
·
Spring
IoCIoC는 객체의 생성 및 관리 권한을 개발자가 직접 하지 않고, Spring Container가 대신 처리하는 개념즉, 객체의 생성, 초기화, 소멸 등의 작업을 Spring이 대신 해주기 때문에 비즈니스 로직에 집중할 수 있다. package org.springframework.samples.petclinic.sample;public class SampleController { SampleRepository sampleRepository; public SampleController(SampleRepository sampleRepository) { this.sampleRepository = sampleRepository; } public void doSomething(..
컬렉션 프레임워크 - Map, Stack, Queue
·
Java
컬렉션 프레임워크 - Map (1) Map은 key, value의 쌍을 저장하는 자료 구조이다.key는 중복될 수 없지만 value는 중복이 가능하다.Map은 순서를 유지하지 않는다.  자바는 HashMap, TreeMap, LinkedHashMap등 다양한 구현체를 제공한다.Map 인터페이스의 주요 메서드는 다음과 같다. 위 구현체들 중 HashMap을 가장 많이 사용한다. Hash구조의 장점은 이전에 계속 언급했기 때문에 설명은 생략 package collection.map;import java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Set;public class MapMain1 { public..
컬렉션 프레임워크 - Set
·
Java
자바가 제공하는 Set - HashSet, LinkedHashSetSet은 중복을 허용하지 않고, 순서를 보장하지 않는 자료 구조이다. Set 인터페이스자바의 Set 인터페이스는 java.util 패키지의 컬렉션 프레임워크에 속하는 인터페이스 중 하나이다.Set 인터페이스는 중복을 허용하지 않는 유일한 요소의 집합을 나타낸다. 즉 어떤 요소도 Set 내에 두번 이상 나타날 수 없다.Set은 집합을 생각하면 이해하기 편하다. 순서를 보장하지 않으며 특정 요소가 집합에 있는지 여부를 확인하는데 최적화되어있다.Set 인터페이스는 HashSet, LinkedHashSet, TreeSet 등의 여러 구현 클래스를 가지고 있다.Set 인터페이스의 주요 메서드는 검색을 통해 확인하자. (거의 비슷하지만 다른 기능이 ..