springboot

공부/Spring

스프링부트 3.X 스프링 시큐리티 사용해서 회원가입, 로그인, 로그아웃 구현하기

스프링 시큐리티? 스프링 시큐리티는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크이다. 인증(Authentication)? 인증은 사용자의 신원을 입증하는 과정이다. 쉽게 말하면 우리가 흔히 어떤 사이트에 아이디와 비밀번호를 입력하고 로그인하는 과정이다. 인가(Authorization)? 인가는 사용자의 권한을 확인하는 작업이다. 이것도 쉽게 말하면 파일 공유 시스템에서 권한 별로 접근할 수 있는 폴더가 상이하다. 상위직책자는 들어갈 수 있고, 하위 직책자는 접근할 수 없는 경우 사용자의 권한을 확인해야 하는데 이 과정을 인가라고 한다. 그래서 스프링 시큐리티? 스프링 기반 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크이다. 이름에 걸맞게 보안 관련 옵션을..

공부/Spring

Gradle 프로젝트를 Springboot 3.X 프로젝트로 변경하기

Gradle? Gradle은 Build system 중 하나로 소스 코드를 이용해서 실행 가능한 애플리케이션을 생성하는 과정을 자동화하는 프로그램이며, 의존성 내려받기, 코드 패키징, 컴파일, 테스트 실행 등이 포함된다. Gradle 외에 Maven이 있으며 요즘엔 Maven 보다는 Gradle을 많이 사용하는 추세다. Gradle 특징 XML 형식으로 작성되는 Maven에 비해 가독성이 좋고 설정이 간단함 자바, 코틀린, 그루비 등 다양한 언어 지원, 원하는 대로 빌드 스크립트 작성 가능 빌드와 테스트 속도가 Maven에 비해 더 빠름 Springboot 3.X 프로젝트로 변환 build.gradle 기존 소스 plugins { id 'java' } group 'me.hs' version '1.0-SN..

공부/Spring

토비의 스프링 부트 - 자동 구성 기반 애플리케이션_1

메타 애노테이션과 합성 애노테이션 @UnitTest 애노테이션 생성 @Test 메서드가 붙어있는 simpleHelloService()의 애노테이션을 @UnitTest 애노테이션으로 변경해보자. 물론 새로 생성해줘야한다. @UnitTest void simpleHelloService() { SimpleHelloService helloService = new SimpleHelloService(); String ret = helloService.sayHello("Test"); Assertions.assertThat(ret).isEqualTo("Hello Test"); } @Test void helloDecorator() { HelloDecorator decorator = new HelloDecorator(nam..

공부/Spring

토비의 스프링 부트 - DI와 테스트, 디자인 패턴

테스트 코드를 이용한 테스트 여태 코드를 작성하면 서버를 재실행하고 인텔리제이 터미널에서 HTTPie로 테스트를 진행했다. 이렇게 사람이 수동으로 테스트를 하는 것보다 테스트 코드를 작성해서 사람보다는 기계?가 테스트하는 게 훨씬 시간도 절약되고 정확성이 높다. HelloApiTest.java public class HelloApiTest { @Test void helloApi() { } } 내용이 빈 메서드를 만들고 실행해보면 테스트가 통과되었다는 표시가 뜬다. 검증할 내용이 없어 테스트가 통과되지 않는 상황이 없기에 몇 번을 돌려도 테스트는 통과된다. TestRestTemplate.java @Test void helloApi() { // http localhost:8080/hello?name=Spri..

에러 해결

[SpringBoot] I/O error on GET request for ~ : Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused)

토비의 스프링부트 테스트 관련 강의를 듣는 도중 실행만하면 이 에러가 터져 1시간 정도 넘게 찾아봤는데...ㅎ 되게 허무하게 고쳤다; 일단 상세한 에러 내용은 아래와 같다. 더보기 org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8080/hello": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) at org.springframework.web.client.RestTemplate.doExec..

공부/Spring

토비의 스프링 부트 - 스프링 부트 살펴보기

스프링 부트 소개 스프링 부트는 스프링을 기반으로 실무 환경에 사용 가능한 수준의 독립실행형 애플리케이션을 복잡한 고민 없이 빠르게 작성할 수 있게 도와주는 여러가지 도구의 모음이다. 즉, 스프링 부트는 스프링을 기반으로 한 프레임워크이자 라이브러리이다. 프레임 워크 소프트웨어 개발자가 응용 소프트웨어의 표준 구조를 구현하기 위해 사용하는 소프트웨어 프레임워크로 구성된다. 즉, 프로그래밍에서 특정 운영체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리의 모임이다. 재사용할 수 있는 수많은 코드를 프레임워크로 통합함으로써 개발자가 새로운 애플리케이션을 위한 표준 코드를 다시 작성하지 않아도 된다. - 출처 : 위키백과 라이브러리 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발..

프로젝트 및 컨퍼런스 회고/한이음 프로젝트

React와 Springboot 연동하기

React와 Springboot 연동하기 React와 Springboot 깃랩 레포지토리를 나눠놔서 각각 독립적으로 서버를 작동시켜서 연동해줘야 하는 상황이 됐다. Node 설치 다운로드 | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 위 공식 홈페이지로 들어가서 다운로드 한다. 현재버전 말고 LTS 버전으로 다운받으면 된다. 포스팅 기준으로 LTS 최신 버전은 16.17.0(includes npm 8.15.0)이다. create-react-app 설치 MAC 터미널에서 아래 명령어를 입력해 create-react-app을 설치한다. npm -v // 버전확인. 만약 버전 확인이 되지 ..

에러 해결

[SpringBoot] Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true 에러 해결

한이음 프로젝트의 변경사항이 생겨 프로젝트 이름과 경로를 변경하고 서버가 실행되나 테스트해봤는데 에러가 발생했다. *************************** APPLICATION FAILED TO START *************************** Description: The bean 'boardRepository', defined in com.salmal.board.repository.BoardRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration, could not be registered. A bean with that name ..

공부/넥사크로

[Nexacro] 넥사크로 N + SpringBoot 연동하기 2 - 프로젝트 설정 및 연동

Uiadapter 넥사크로의 Uiadapter를 사용하려고 gradle을 통해 라이브러리를 다운하려 했지만 아직 자사의 Nexus 서버가 불안정해서 Gradle을 통한 자동 다운은 못한다고 한다.. - 20220509 기준 그래서 플레이넥사크로에서 다운해야 한다. 해당 게시글 제일 하단에 라이브러리 파일들이 있다. 다운하고 압축 푼 다음에 프로젝트 최상위 경로에 'libs' 폴더를 만들고 압축 푼 라이브러리 파일들을 옮겨주자. 그리고 맨 위에 있는 nexacro-xapi-java-1.0.0.jar 파일은 기술지원센터에서 따로 받아야된다. 저거 없으니까 설정할 때 에러남; 참고로 파일을 다운하기 위해 로그인이 필요하다. 대메뉴 Product > Nexacro N > Download > Server [API..

공부/넥사크로

[Nexacro] 넥사크로 N + SpringBoot 연동하기 1 - 프로젝트 생성

SpringBoot 프로젝트 생성 SpringBoot 프로젝트를 생성하기 위해 https://start.spring.io/ 접속 SpringBoot를 다음과 같이 설정한다. Gradle Project Java 11 2.6.7 (20220509 기준) Artifact : nexacro Name : nexacro WAR (JAR로하면 jsp 못씀) Dependencies : Spring Web 다운한 파일을 원하는 경로에 압축을 푼다. 프로젝트 Open IDE는 IntelliJ를 사용한다. 이클립스를 사용해도 별 상관은 없다. 압축을 풀었던 경로로 찾아가 build.gradle을 클릭 후 OK를 누른다. Open as Project 클릭. Open as File을 클릭하면 정말 build.gradle 파일만..

에러 해결

[IntelliJ] Execution failed for task ':CoreApplication.main() 에러 및 8080 port 사용 문제

김영한님의 스프링 핵심 원리 기본편을 듣는 중 웹 라이브러리 설치 후 Application을 Tomcat으로 실행하는 부분에서 에러가 발생했다. Execution failed for task ':CoreApplication.main()'. > Process 'command '/Library/Java/JavaVirtualMachines/jdk-11.0.14.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 코드를 수정하거나 그런 부분은 없어서 뭔가 싶었는데 김영한님의 Console창이 뭔가 나랑 다른 걸 느껴서 혹시 몰라 빌드를 Gradle에서 IntelliJ로 변경해보니까 에러없이 잘 실행되었다. MAC 기준 IntelliJ IDEA > ..

에러 해결

[IntelliJ] 0 containers and 1 tests were Method or class mismatch 에러

김영한님의 스프링 핵심 원리 기본편을 듣는 중 테스트를 작성하고 돌려봤는데 다음과 같은 빨간 메시지가 보였다. 뭔가 테스트는 정상적으로 동작하는 거 같지만 그래도 개발자라면 빨간 메시지가 거슬리지 않을 수 없다. 서치 해본 결과 만약 한 클래스에 테스트 메서드를 두 개 작성했는데 하나만 사용하고 돌렸을 경우에 발생하는 메시지라고 나온다. 검증해보자. 일단 테스트 코드 안에는 @Test가 붙은 메서드가 두 개 존재한다. @Test void prototypeFind() {..생략..} ... @Test void singletonClientUsePrototype() {..생략..} 두 번째 메서드인 singletonClientUsePrototype() 메서드만 실행해보자. 여전히 기분 나쁜 빨간 메시지가 보인..

데부한
'springboot' 태그의 글 목록