본문 바로가기

인프런 🍀11

🌱 @RequestParam 개념 정리 @RequestParam 스프링이 제공하는 어노테이션으로, 이를 사용하면 요청 파라미터를 매우 편리하게 사용할 수 있다 @ResponseBody @RequestMapping("/request-param") public String requestParamV2( @RequestParam("username") String memberName, @RequestParam("age") int memberAge ) { log.info("username={}, age={}", memberName, memberAge); return "ok"; } @RequestParam 파라미터 이름으로 바인딩한다 /request-param?username=yum&age=20 위처럼 요청이 들어오면, username=yum, age=2.. 2023. 3. 13.
[스프링 핵심 원리 - 기본편] - 예제 만들기 프로젝트 초기 생성 이번 예제에서는 순수하게 Java만 이용해서 진행하기 위해 Spring Boot의 의존 관계로 spring-boot-starter만 사용한다! 💡 프로젝트 실행 시 주의할 점 Gradle 설정을 IntelliJ IDEA로 모두 변경해준다! 영한님께서는 이게 더 빠른 것 같아서 추천한다고 하셨는데, 난 이거때문에 오류가 너무 많이 났어서 바꾸는 게 좋다고 생각한다! 비즈니스 요구사항과 설계 제시된 요구사항을 보면 변경될 가능성이 높은 요구사항이 많다 따라서 우리는 인터페이스를 만들고 구현체를 언제든지 갈아끼울 수 있도록 설계해서 요구사항에 유연하게 대처할 것이다! 회원 도메인 설계 회원 서비스 계층은 2가지의 기능을 제공한다 회원 가입 회원 조회 회원 저장소를 별도로 만든다 회원 데이터.. 2022. 10. 14.
[스프링 핵심 원리 - 기본편] 객체 지향 설계와 스프링 스프링의 등장 당시 주로 사용되던 기술은 EJB였다 EJB는 굉장히 많은 장점과 기능이 존재하였지만, 그만큼 단점도 많았다 이를 극복하고자 등장한 프레임워크가 Spring이다 🍃 스프링이란? 스프링의 생태계 Spring은 하나의 기술이 아닌, 여러 기술의 모음이라고 할 수 있다 스프링 데이터 - 스프링과 DB 연동 스프링 Rest Docs - 문서화 작업을 편리하게 해주는 기능 이 중에서 핵심은 스프링 프레임워크이고, 이 모든 기술들을 쉽게 사용하도록 도와주는 기술이 스프링 부트이다 스프링 프레임워크 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 웹 기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원.. 2022. 9. 22.
[스프링 핵심 원리 - 기본편] 강의 소개 해당 강의는 단순히 스프링의 기능이 아닌, 왜 스프링을 사용해야 하는지에 대한 본질 깊은 이해를 하는 것이 목표이다! 또한 스프링을 사용할 때 필수로 알아야 하는 핵심 기능을 배울 수 있다고 한다! 이 강의를 통해 스프링의 기본 핵심 원리를 이해하고 객체 지향적인 설계를 할 수 있는 개발자가 되어보자🔥 2022. 9. 18.
[스프링 입문] AOP AOP가 필요한 상황 모든 메소드와 호출 시간을 측정하고 싶은 겨우 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶은 경우 위와 같이 시간 측정 로직을 각각 추가할 경우의 문제점 회원가입, 회원 조회에 시간을 측정하는 기능은 핵심 관심 사항이 아니다 시간을 측정하는 로직은 공통 관심 사항이다 시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 유지보수가 어렵다 시간을 측정하는 로직을 별도의 공통 로직으로 만들기 매우 어렵다 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다 AOP 적용 AOP Aspect Oriented Programming 공통 관심 사항(cross-cuttin.. 2022. 9. 11.
[스프링 입문] 스프링 DB 접근 기술 H2 데이터베이스 개발이나 테스트 용도로 가볍고 편리한 DB로, 교육용으로도 많이 사용된다 웹 화면을 제공한다 h2를 설치하고 위와 같이 db를 설정한다 이후 부터는 jdbc:h2:tcp://localhost/~/test 이렇게 접속하면 된다! 접속한 후 위의 sql문을 통해서 MEMBER 테이블을 생성한다 JDBC 리포지토리 구현 JDBC API로 직접 코딩하는 것은 굉장히 오래 전 이야기이다 이 부분은 그냥 예전엔 이랬구나~ 하고 넘어가면 된다고 한다! 객체지향을 잘 사용하면 개방-폐쇄 원칙을 잘 지킬 수 있다 개방-폐쇄 원칙(OCP, Open-Closed Principle) 확장에는 열려있고, 수정/변경에는 닫혀있다 스프링의 DI(Dependencies Injection)을 사용하면 기존의 코드는 .. 2022. 9. 11.