본문 바로가기

분류 전체보기189

[스프링 부트(SpringBoot)] 테스트 기초 8. 테스트 기초 8.1. 테스트의 중요성 소프트웨어 개발 과정에서 테스트는 매우 중요한 역할을 합니다. 테스트를 통해 코드의 신뢰성을 높이고, 버그를 찾아 수정할 수 있으며, 코드의 품질을 높여 유지보수가 쉬운 애플리케이션을 만들 수 있습니다. 또한, 테스트를 통해 리팩토링을 수월하게 할 수 있고, 다른 개발자와 협업할 때 코드의 기능을 검증할 수 있습니다. 8.2. 스프링 부트 테스트 소개 스프링 부트는 다양한 테스트 라이브러리를 지원하며, 테스트를 쉽게 작성하고 실행할 수 있는 기능을 제공합니다. 스프링 부트 테스트는 스프링 프레임워크의 테스트 기능을 기반으로 하며, JUnit, Mockito, AssertJ 등 다양한 테스트 라이브러리를 사용할 수 있습니다. 스프링 부트 테스트는 애플리케이션 컨텍.. 2023. 5. 3.
[스프링 부트(SpringBoot)] 간단한 보안 적용 7. 간단한 보안 적용 7.1. 스프링 시큐리티 소개 스프링 시큐리티는 자바 기반의 웹 애플리케이션에서 인증(Authentication)과 인가(Authorization) 기능을 쉽게 구현할 수 있는 프레임워크입니다. 스프링 부트와 함께 사용하면 기본 설정이 자동으로 적용되어 더욱 간편하게 사용할 수 있습니다. 인증은 사용자가 누구인지 확인하는 과정이며, 인가는 사용자가 특정 리소스에 대해 접근 권한이 있는지 확인하는 과정입니다. 7.2. 기본 인증 및 인가 설정 스프링 부트에서 스프링 시큐리티를 사용하려면 먼저 의존성을 추가해야 합니다. pom.xml 파일이나 build.gradle 파일에 다음과 같이 의존성을 추가합니다. org.springframework.boot spring-boot-starter.. 2023. 5. 3.
[스프링 부트(SpringBoot)] RESTful API 개발 기초 6. RESTful API 개발 기초 6.1. RESTful API 소개 REST(REpresentational State Transfer)는 웹 서비스를 설계할 때 사용되는 아키텍처 스타일입니다. RESTful API는 REST 원칙을 따르는 웹 서비스 API를 의미합니다. 웹 서비스는 클라이언트와 서버 간의 통신을 제공하는데, RESTful API는 그러한 웹 서비스를 구축하는 방법 중 하나입니다. RESTful API의 핵심 원칙은 다음과 같습니다. 자원 지향: 각 자원(데이터 객체)에는 고유한 식별자가 있어야 하며, 이를 URI(Uniform Resource Identifier)로 표현합니다. 상태를 전달하는 메시지: 클라이언트와 서버 간의 상태 전달을 표현하기 위해 HTTP 메서드와 상태 코드를.. 2023. 5. 3.
[스프링 부트(SpringBoot)] 웹 개발 기초 5. 웹 개발 기초 5.1. 스프링 MVC 소개 스프링 MVC는 스프링 프레임워크에서 웹 애플리케이션을 개발하기 위한 모듈입니다. Model-View-Controller(MVC) 패턴을 따르며, 이를 통해 개발자는 웹 애플리케이션의 구성 요소를 명확하게 구분할 수 있습니다. 스프링 부트는 스프링 MVC를 쉽게 사용할 수 있는 자동 구성을 제공합니다. 5.2. 컨트롤러와 뷰 컨트롤러는 사용자의 요청을 처리하고 적절한 응답을 생성하는 역할을 합니다. 스프링 MVC에서 컨트롤러는 @Controller 어노테이션을 사용하여 선언하며, 요청을 처리하는 메서드에는 @RequestMapping 또는 @GetMapping, @PostMapping 등의 어노테이션을 사용합니다. 예를 들어, 다음 코드는 "Hello, S.. 2023. 5. 3.
[스프링 부트(SpringBoot)] 데이터베이스 연동 기초 4. 데이터베이스 연동 기초 4.1. JDBC 연동 스프링 부트는 데이터베이스 연동을 위해 JDBC(Java Database Connectivity)를 사용할 수 있습니다. JDBC는 자바 애플리케이션에서 데이터베이스에 접근하고 데이터를 조작하기 위한 표준 API입니다. 스프링 부트는 자동 구성을 통해 데이터 소스를 설정하며, application.properties 파일에서 데이터베이스 관련 설정을 할 수 있습니다. 먼저 데이터베이스 드라이버를 의존성에 추가해야 합니다. 여기서는 MySQL을 예로 들겠습니다. Maven의 경우 pom.xml에 다음과 같이 추가합니다. mysql mysql-connector-java 8.0.26 Gradle의 경우 build.gradle에 다음과 같이 추가합니다. // .. 2023. 5. 3.
[스프링 부트(SpringBoot)] 스프링 부트의 핵심 기능 3. 스프링 부트의 핵심 기능 3.1. 의존성 관리 스프링 부트는 개발자가 프로젝트를 진행하는 데 필요한 의존성을 쉽게 관리할 수 있도록 도와줍니다. 스프링 부트는 '스타터(Starter)'라는 의존성 그룹을 제공하여, 관련된 의존성들을 한 번에 추가할 수 있습니다. 예를 들어, 웹 개발을 위해 스프링 부트 웹 스타터를 사용할 수 있습니다. Maven의 경우 pom.xml에 다음과 같이 추가합니다. org.springframework.boot spring-boot-starter-web Gradle의 경우 build.gradle에 다음과 같이 추가합니다. // Gradle 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-web' 이렇.. 2023. 5. 3.