Java/SpringBoot

    SpringBoot 테스트 코드 SpringSecurity @WithMockUser 사용하기

    1. build.gradle에 spring-security-test 추가 testImplementation으로 추가해야 한다. testImplementation 'org.springframework.security:spring-security-test' 2. 테스트 코드 @BeforeEach에서 MockMvcBuilders에 springSecurity()를 추가한다. private MockMvc mockMvc; @Autowired private WebApplicationContext context; @BeforeEach public void setUp() throws Exception { this.mockMvc = MockMvcBuilders .webAppContextSetup(context) .appl..

    assertThat, is 오류시

    assertThat(result.size(), is(1)); assertThat(result.get(0).getAddress(), is(address)); 위와 같이 assertThat 사용시 import를 다 해봐도 오류가 나는 경우가 있다. import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.MatcherAssert.assertThat; 그럴땐 수동으로 import 구문 추가해주면된다. assertThat은 할때마다 오류가 난다; 참고 https://itmemo.tistory.com/132

    [Gradle] apply plugin, plugins 차이

    스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책으로 실습 후 개인적으로 인텔리제이를 이용하여 스프링부트 프로젝트를 만들었는데 책에서 실습했던 build.gradle파일과 새로 만들어진 build.gradle 파일의 차이가 생겨서 어떻게 달라진 건지 궁금해서 찾아보게 되었다. 기존에는 buildscript { ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse..

    [Gradle] compile과 implementation의 차이

    build.gradle을 작성하면서 compile과 implementation의 차이가 궁금해져서 찾아보았다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-security' compile('org.projectlombok:lombok') testImplementation 'org.springframework.boot:spring-boot-starter-test' } compile The dependencies required to compile the production source of the project which are part of the API exposed by the project. For examp..

    [SpringBoot] Travis CI, AWS S3, code deploy 연동하기

    [SpringBoot] Travis CI, AWS S3, code deploy 연동하기

    스프링부트 실습 Chapter09 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 이동욱 作 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 🔎 Travis CI 연동하기 Travis CI 깃허브에서 제공하는 무료 CI 서비스 Travis CI 웹 서비스 설정 https://travis-ci.com/ 접속해서 깃허브 계정으로 로그인 - 왼쪽 상단 계정 - Settings 클릭 CI를 적용시킬 저장소를 찾은 후 상태바를 활성화시킨다. 🔎 프로젝트 설정 Travis CI의 상세한 설정은 프로젝트에 존재하는 .travis.yml 파일로 할 수 있다. 💡 .yml - YAML(야믈) JSON에서 괄호를 제거한 것 👉 프로젝트의 build.gradle과 같은 위치에서 .travis.ym..

    [SpringBoot] Travis CI 배포 자동화 - CI & CD

    [SpringBoot] Travis CI 배포 자동화 - CI & CD

    스프링부트 실습 Chapter09 코디가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 이동욱 作 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 🔎 CI & CD CI(Continuous Integration - 지속적 통합) 코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH가 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포 파일을 만드는 과정을 CI라고 한다. CD(Continuous Deployment - 지속적인 배포) CI를 통해 만들어진 빌드 결과를 자동으로 운영 서버에 무중단 배포까지 진행되는 과정을 CD라고 한다. CI & CD가 등장한 배경 현대의 웹 서비스 개발에서는 하나의 프로젝트를 여러 개발자가 함께 개발을 진행한다. 그러다 보니 각자가..

    [SpringBoot]EC2 서버에 프로젝트를 배포해 보자

    [SpringBoot]EC2 서버에 프로젝트를 배포해 보자

    스프링부트 실습 Chapter08 EC2 서버에 프로젝트를 배포해 보자 이동욱 作 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 👉 EC2에 프로젝트 Clone 받기 sudo yum install git - 깃 설치 명령어 git --version - 깃 버전 확인 명령어 mkdir ~/app && mkdir ~/app/step1 - 디렉토리 생성 (mkdir) cd ~/app/step1 - 해당 디렉토리로 이동 (cd) git clone 레포지토리주소 - 깃 클론 cd 프로젝트명 ll -프로젝트 코드들이 뜨는 지 확인 chmod +x ./gradlew - 권한 추가 명령어 ./gradlew test - 테스트 테스트에서 실패했다면 테스트코드 다시한번보기 깃 pull이 성공적으로 되었는지 확인하기 ..

    [SpringBoot] EC2에서 RDS에서 접근 확인

    [SpringBoot] EC2에서 RDS에서 접근 확인

    스프링부트 실습 Chapter07 AWS에 데이터베이스 환경을 만들어보자 - AWS RDS 이동욱 作 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' putty.exe 접속 sudo yum install mysql - MySQLCLI 설치하기 mysql -u 계정 -p Host주소 - RDS에 접속하기 ex) mysql -u jojoldo -p -h freelect-springboot2-webservice.crbgmuixrqqb.ap-northeast-2.rds.amazonaws.com show databases; - 데이터베이스 목록 확인