Dev/SpringBoot 8

[SpringBoot] 웹 애플리케이션 통합

1 비즈니스 레이어 개발 프레젠테이션 레이어(MVC) : 애플리케이션 사용자와의 커뮤니케이션 담당. 비즈니스 레이어(AOP, IoC) : 비즈니스 로직 처리. [비즈니스 컴포넌트 구조 이해하기] 프로젝트 생성 및 설정 pom.xml 4.0.0 org.springframework.boot spring-boot-starter-parent 2.2.2.RELEASE com.studyboot Chapter08 0.0.1-SNAPSHOT Chapter08 Demo project for Spring Boot 1.8 3.1.1 junit junit test org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-..

Dev/SpringBoot 2020.01.04

[SpringBoot] 스프링 부트 시큐리티

1 스프링 부트 시큐리티 퀵 스타트 인증(Authentication)을 통해 사용자를 식별하고 인가(Authorization)를 통해 시스템 자원에 대한 접근을 통제한다. 직원이 특정 자원에 접근할 때 권한이 있는지 확인하는 과정을 인가라고 생각하면 된다. 스프링 시큐리티가 인증과 인가를 어떻게 처리하는지 확인해보자. [스프링 부트 시큐리티 적용하기] 스프링 시큐리티 개념 인증과 인가 관련 코드를 모든 클래스의 메소드마다 적용하면 반복적인 코드들이 여러 곳에 등장하게 된다. 유지보수 과정에서 시큐리티 관련 코드를 수정하려고 할 떄 또다시 반복적인 작업을 할 수밖에 없으므로 이러한 문제 해결을 위해 스프링 시큐리티가 만들어졌다. 시큐리티를 적용하지 않았을 때 프로젝트 생성 사용 모듈 : DevTools, ..

Dev/SpringBoot 2020.01.02

[Springboot] 스프링부트 화면 개발

1 JSP 화면 개발 스프링 부트는 템플릿 엔진을 이용한 화면처리를 지원. 지원되는 템플릿 엔진 : 타임리프, Freemarker, Mustache, Grooby Templates 템플릿 엔진 이용시 데이터와 완벽하게 분리된 화면을 개발 가능. 순수하게 HTML 만을 이용한 화면 개발이 가능하고 운영 과정에서 쉽게 화면을 변경 가능. [웹 애플리케이션 화면 개발하기] 실습 프로젝트 생성 및 환경설정 프로젝트 생성시 사용 모듈 추가: Web, Lombok JPA, H2, DevTool DevTool은 애플리케이션을 재실행하지 않아도 수정된 소스를 자동으로 반영. Pom.xml : jstl, org.apache.tomct.embed - jsp를 컴파일 할때 필요한 라이브러리(tomcat-embed-jaspe..

Dev/SpringBoot 2020.01.01

[SpringBoot] 스프링 데이터 JPA

[스프링 데이터 JPA 퀵 스타트] 스프링 부트는 JPA에 필요한 라이브러리들과 복잡한 XML 설정을 자동으로 처리하기 위해 JPA 스타터를 제공한다. 1. 스프링 데이터 JPA 사용하기 프로젝트를 생성하여 스프링 데이터 JPA를 사용해보자 *JPA 기본설정 application.properties 파일에 데이터 소스, JPA, 로깅 설정을 반영한다. # DatsSource Setting spring.datasource.driver-class-name=org.h2.Driver spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.username=sa spring.datasource.password= # JPA Setting spri..

Dev/SpringBoot 2019.12.28

[SpringBoot] JPA 퀵 스타트

스프링과 JPA 데이터베이스에 연동되는 기술 : 전통적인 JDBC, 스프링 DAO, Mybatis, Hibernate 등 굉장히 다양 ORM : 애플리케이션에서 사용하는 SQL 까지도 프레임워크에서 제공 ORM들을 보다 쉽게 사용할 수 있도록 표준화시킨 것이 JPA(Java Persistence API) 스프링 데이터 JPA : 스프링 부트에서 JPA를 쉽게 사용할 수 있도록 지원하는 모듈 [JPA 개념 이해하기] Mybatis : SQL을 개발자가 직접 XML 파일에 등록하여 사용 Hibernate(와 같은 ORM) : 프레임워크에서 SQL을 생성하기 때문에 개발자가 신경 쓸 필요 없음 - SQL을 직접 다루는 기술 JDBC를 이용하여 DB연동 처리 시 > 드라이버 클래스 로딩 > 커넥션 연결 > st..

Dev/SpringBoot 2019.12.23

[SpringBoot] 테스트와 로깅

[스프링부트 테스트] 테스트 코드 : 유지보수 과정에서 재사용되어 시스템의 안정성을 보장하는 중요한 장치 대부분의 프로젝트는 JUnit을 기반으로 일관성 있는 단위 테스트 진행 단위 테스트 : 자신이 작성한 클래스에 대한 테스트. 테스트 단계 중에서 가장 기본 스프링부트가 제공하는 테스트 환경과 테스트 방법을 알아보자 [스프링 부트에서 테스트하기] 프로젝트 의존성에 테스트 스타터가 등록되어 있으므로 여러 라이브러리들도 자동적으로 추가된다. 웹 애플리케이션에서의 테스트는 일반적인 자바 애플리케이션과 달리 테스트 과정이 복잡하고 자동을 처리해야 할 일도 많다. @RunWith(SpringRunner.class) Junit에서 기본적으로 제공하는 러너가 아닌 스프링 러너를 사용하기 위해서 추가 @SpringB..

Dev/SpringBoot 2019.12.18

[SpringBoot] 스프링부트 자동설정

스프링 부트 스타터 스프링 부트를 구성하는 핵심요소 3가지 : 스타터, 자동설정, 액추에이터 스타터(starter) : 스프링이 제공하는 특정 모듈을 사용할 수 있도록 관련된 라이브러리 의존성을 해결 자동설정(AutoConfiguration) : 스타터를 통해 추가한 모듈을 사용할 수 있도록 관련된 빈 설정을 자동으로 처리 액추에이터(Actuator) : 스프링 부트로 개발된 시스템을 모니터링할 수 있는 다양한 기능 제공 [스타터로 의존성 관리] 스타터는 필요한 라이브러리들을 관련된 것끼리 묶어서 마치 패키지처럼 제공한다. 프로젝트에서 사용하고 싶은 모듈이 있으면 그 모듈에 해당하는 스타터만 의존성으로 추가하면 된다. 1. 프로젝트에 의존성 추가하기 - pom.xml 파일에 설정 추가 2. 스타터로 의존..

Dev/SpringBoot 2019.12.13

[SpringBoot] 스프링부트 시작하기

- 스프링 부트 : 스프링 프레임워크를 사용 가능한 상태로 만들어주는 도구. 스프링 프레임워크의 서브 프로젝트로 만들어졌다. - 프레임워크 : 애플리케이션의 아키텍처에 해당하는 골격 코드이다. - 메이븐(Maven)/그레이들(Gradle) : 라이브러리 관리와 빌드 자동화 도구이다. 스프링부트 프로젝트의 구조 1. src/main/java : 일반적인 자바 소스 등록 2. src/main/resources : 자바 소스가 아닌 xml이나 프로퍼티 파일을 등록 - 스프링 부트의 경우 기존 메이븐과 조금 다르다. 펼칠 경우 xml파일은 없고, 웹 애플리케이션과 관련된 static과 templates 폴더가 존재한다. - statc : html과 같은 정적인 웹 리소스 - templates : 타임리프 같은 ..

Dev/SpringBoot 2019.12.11
반응형