본문 바로가기

전체 글187

01. 프로젝트 만들기 IDE 인텔리J 얼티메이트 빌드 메이븐 라이브러리 스프링부트 스프링 웹 MVC 타임리프(뷰 템플릿) 스프링 시큐리티 스프링 데이터 JPA H2 MySQL Lombok 스프링 메일 QueryDSL 스프링 부트 devtools 참고: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1# 스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런 이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습니다. 이 강좌를 충분히 학습한다면 여러분 만의 웹 서비스를 만들거나 취직에 도움이 될만한.. 2020. 4. 17.
03. 함수 1. 최대한 작게 만들어라 if 문 / else 문/ while 문 에 중첩구조가 생길만큼 함수가 커져서는 안된다. 가급적이면 2단을 넘어서면 안된다. 2. 한 가지만 해라 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. 단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다. 3. 함수 당 추상화 수준은 하나로! 코드는 위에서 아래로 이야기처럼 읽혀야 좋다. 4. 서술적인 이름을 사용하라! 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 된다. 이름이 길어도 괜찮다. 길고 서술적인 이름이 길고 서술적인 주석보다 좋다. 이름을 붙일 때는 일관성이 있어야 한다. 모듈 내에서 .. 2020. 1. 15.
스프링 데이터 JPA 연동 오늘 포스팅은 스프링부트와 스프링 데이터 JPA를 연동하는 방법에 대해 살펴보겠습니다. 살펴보기 전에 간단히 ORM(Object-Relational Mapping)과 JPA(Java Persistence API)에 대해서 설명하자면 ORM은 객체와 릴레이션을 맵핑할 때 발생하는 개념적 불일치를 해결하는 프레임워크입니다. 쉽게 말해서 자바의 클래스의 멤버들을 데이터베이스의 컬럼과 맵핑을 시켜주는 역할을 합니다. 스프링부트 프로젝트를 만든 후 mysql과 h2 jpa의존성을 추가합니다. H2는 인메모리DB로 테스트에 이용하기 위해 scope을 test로 지정합니다. 실제 저장할 DB는 Mysql로 저장할 예정입니다. application.properties에서 DataSource에 대한 설정을 합니다. DT.. 2019. 10. 28.
SpringBoot에서 Mysql 설정 스프링부트가 지원하는 DBCP 기능과 MySql을 설정하는 방법을 살펴보겠습니다. DBCP란 DataBase Connection Pool의 약자로 DB에서 Connection을 만드는 과정이 상당히 많은 작업이 이뤄지는 작업이기 때문에 커넥션을 미리 만들어놓고 필요한 애플리케이션이 사용하고 반납하는 형식으로 DB와 커넥션을 맺고 있는 객체를 관리하는 역할을 합니다. 또한 이 DBCP가 애플리케이션의 성능 아주 지대한 영향을 끼치기 때문에 신중히 DBCP를 선택해야 합니다. 스프링부트는 기본적으로 HikariCP라는 DBCP를 사용합니다. DBCP설정은 application.properties에서 합니다. 위에 설정은 커넥션 풀의 개수를 5개로 바꾸는 설정입니다. 이제 MySQL설정을 해보겠습니다. MyS.. 2019. 10. 26.