본문 바로가기

분류 전체보기166

[스프링 기본] 2. 스프링 핵심 원리 이해1-예제 만들기 프로젝트 생성 https://start.spring.io/ 사이트로 가서 zip 파일을 생성-다운 후 인텔리제이에서 임포트 임포트 방법: 압축 푼 파일 위치로 가서 해당 파일의 build.gradle 선택 후 프로젝트로 열기 일단 순수 자바로 개발하고 추후 점점 스프링의 요소들을 추가해 나갈 것이다.(스프링 부트는 환경 설정을 편리하게 하려고 사용한 것.) 비지니스 요구사항과 설계 & 회원 도메인 설계 회원 회원 가입과 조회 가능. 일반 회원과 VIP 회원 존재. 회원 db는 자체 db로 할지 외부 시스템과 연동할지 미확정. 주문 회원들은 상품을 주문할 수 있는데, 회원 등급에 따라 할인 정책 다름.(VIP는 무조건 1000원 할인) 할인 정책은 회사의 사정으로 변경 가능성이 높은 상태. 변경 가능성이 .. 2022. 10. 7.
[스프링 기본] 1. 객체 지향 설계와 스프링 스프링이란? 이런 애들을 모두 통틀어 스프링 생태계라고 부른다. 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용할 수 있다. '스프링' 이라는 단어는 문맥에 따라 달리 사용한다. 스프링 DI 컨테이너 기술 스프링 프레임워크 스프링 생태계 스프링의 핵심: 스프링은 자바 기반이고 자바는 객체 지향 언어 -> 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 좋은 객체 지향 프로그래밍? 캡 상 추 다 캡슐화 상속 추상화 다형성 객체 지향 프로그래밍은 유연하고 변경이 용이함. 스프링은 다형성이 가장 중요! 역할(인터페이스)과 구현(인터페이스를 구현한 클래스, 구현 객체)를 분리. 클라는 인터페이스만 알면 된다. 내부 구조는 몰라도 됨=내부구조가 바뀌어도 영향 x -> 변.. 2022. 10. 5.
블로그 새단장과 스프링 입문 강의 완강 블로그 새단장 티스토리 스킨을 바꾸고, 익숙한 벨로그와 비슷해지도록 설정을 조금 만졌다. 깃헙 링크도 추가하고 코드블럭 글씨체도 손봤다. 난 중고딩때 기술블로그가 아닌, 오로지 취미생활의 목적으로 네이버 블로그를 하던 사람이었는데...그래서 그런지 블꾸하면서 시간이 아주 잘 갔다. 스프링 입문 강의 완강 인프런 김영한님의 스프링 로드맵 첫 번째인 스프링 입문 강의를 완강했다. 그 다음 강의인 스프링 기본편은 미리 사 둔 상태이다. 기본편부터는 유료 강의인데 블로그에 올려도 되나 해서 찾아봤는데 강의 자료 전체를 올리지 않고 출처를 명확히 하면 상관없다고 한다. 기본편 강의부터는 개인 아이패드에 정리하든지 아니면 입문편보다 큼직큼직한 개념으로 서술하든지 해야겠다. 기본편 강의를 완강할때쯤이면 싸피에서도 스.. 2022. 10. 4.
[스프링 입문] 섹션 7 AOP AOP가 필요한 상황 AOP가 무엇인지 살펴보기에 앞서... 먼저 회원가입 시간, 회원 조회 시간을 측정하고 싶다고 하자. public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { long finish = System.currentTimeMillis(); long timeMs = finish - start; System.out.println("join " + timeMs + "ms"); } } /** * 전체 회원 조회 */.. 2022. 9. 29.
[스프링 입문] 섹션 6. 스프링 DB 접근 기술 H2 데이터베이스 설치 설치하고 실행하면 이런 옛스러운 윈도우 창이 뜬다. 파일로 직접 접근하는건 좋지 않으므로 url을 localhost: 어쩌구 test 로 바꿔주고 연결 누르면 mysql 워크벤치같은 화면이 뜬다. 여기서 sql문을 작성하고 실행할 수 있다. id와 name을 가지고 pk가 id인 테이블을 만들어주었다.(id는 자동 증가) 관리를 쉽게하기 위해 sql/ddl.sql을 만들어 위 내용을 기록한다. 스프링 JdbcTemplate 학교 그리고 싸피에서 배운 jdbc는 db에서 뭔가 하고싶을때마다 conn=.. pstmt=...를 일일히 치고 try-catch로 묶어야하는 번거로운 방식이었다. 하지만 이 jdbcTemplate은 순수 JDBC의 반복 코드를 대부분 제거해준다. 레포지토리 폴.. 2022. 9. 27.
의존성 주입이란? 의존성 주입(DI)란 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입 받아 사용하는 방법이다. new로 직접 객체를 생성하는 대신, setter나 생성자 파라미터를 통해 의존 객체를 주입하는 것이다. 이렇게 이미 완성된 객체를 파라미터로 받는 방식이라면, 배터리가 바뀌었을때에도 유연하게 반응할 수 있다. 그래서 결합도가 낮아진다고 하는 것. 위 사진에서, Battery의 생성자만 만들어주면 ElectronicRadioToy에 의존성 주입을 자동으로 해줄 수 있다. (스프링의 경우) 파고들면 엄청 방대한 내용일 것 같은데...일단은 이정도만 정리. 2022. 9. 26.
반응형