본문 바로가기

전체 글169

01 스프링 부트란? 1.1 스프링 프레임워크 스프링 프레임워크: 자바에서 가장 많이 사용하는 프레임워크 스프링의 특징 - 제어 역전(IoC) 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것을 제어 역전이라고 부른다. 제어 역전을 통해 의존성 주입(DI), 관점 지향 프로그래밍(AOP)가 가능해진다. 그러니까 객체의 생명주기 관리 등을 컨테이너 라는 것이 해주고, 개발자는 비지니스 로직을 작성하는데만 집중할 수 있다. - 의존성 주입(DI) 제어 역전의 방법 중 하나 사용할 객체를 new 로 생성하는 것이 아니라, 외부 컨테이너가 생성한 객체를 주입받아 사용한다. 의존성 주입에는 3가지 방법이 있다. - 생성자 주입 - 필드 객체 선언을 통한 주입 - setter 주입 스프링에서는 @Autowired 라는 어노테이션을 통해.. 2023. 9. 30.
근황.. 싸피 공통이 끝나고 특화 프로젝트하던 중에 대기업 계열사에 취업이 돼서 싸피를 퇴소하게 되었다. 중도이탈하게 되어서 팀원들에게 미안했는데 고맙게도 다들 축하해주었다. 원래 나는 개발하다가 깨달음이 오면 바로 블로그에 글을 휘갈기는 편인데 회사에서는 티스토리 글쓰기 페이지에 들어가면 보안때문에 튕겨서 한동안 글을 쓰지 못했다. 나는 십대때 직장인이 되면 진로에 대한 고민이 모두 사라질것이고 출퇴근만 반복하는 기계적인 삶을 살것이라고 생각했는데 딱히 그렇지도 않은것같다...여전히 이런저런 고민이 많다. 그리고 내생각에 인간은 주5일을 하도록 설계되지않은것같다... 2023. 6. 1.
jpa @OnDelete... jpa를 처음 사용해본 것은 https://g1etistory.tistory.com/174 프로젝트이다. jpa와 관련된 것들을 구글링으로 땜질해가며 완성했었다. 그때 jpa에 가장 의문이었던 부분은 delete cascade 설정이었다. delete cascade 설정을 하려면 양방향 매핑을 해야한다니... 심지어 그땐 양방향 매핑이라는 개념도 잘 몰랐기 때문에 정말 놀랍도록 비효율적으로 보였다. 이번 프로젝트에서는 jpa를 사용하기 전에 김영한 강사님의 강의를 급하게 훑었다. 당장 프로젝트에 사용해야 해서 스프링강의처럼 꼼꼼히 메모해가며 듣진 못했지만... 어쨌든 단방향매핑과 양방향 매핑에 대해 알았다. 단방향 매핑이 더 바람직하다는 것도... 그런데 단방향 매핑이면 delete cascade 설정을.. 2023. 3. 24.
[gitlab] spring boot(gradle)+jenkins+docker을 이용한 자동 배포 구축 spring boot+gradle 프로젝트 작업중인 gitlab 브랜치가 있는데... 여기 푸시가 발생하면 자동으로 감지하고 배포하도록 cicd를 구축할 것이다. 일단 ec2에 putty를 이용하여 접속해준다.(putty아니어도 상관은 없겠지만 나는 푸티가 좋아) 사용할 포트들은 다 열어놓은 상태라고 가정. sudo apt install openjdk-11-jdk 자바 설치하고 sudo apt-get update sudo apt-get install docker.io 도커를 설치한다. docker run -d --name jenkins -p 7777:8080 -v /jenkins:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docke.. 2023. 3. 17.
spring boot+mysql+jpa+querydsl 테스트 말 그대로 테스트를 위한거라 이상하거나 틀린 부분이 있을 수 있음 기본 세팅 spring boot starter에서 적당히 만든다. create database testdb; use testdb; CREATE TABLE `test` ( `id`int not null auto_increment primary key, `name`varchar(50)NULL ); INSERT INTO `test`(`name`) VALUES('안녕'); INSERT INTO `test`(`name`) VALUES('안녕2'); INSERT INTO `test`(`name`) VALUES('하이룽'); db 적당히 만든다. jpa가 만들게 할수도 있지만 지금은 미리 만들어놓은 애랑 연결되게 하겠슴 server.port=9999 .. 2023. 2. 19.
Spring boot 폴더 구조. 뭘 써야 하지.. 계층형 구조 장점 : 프로젝트의 이해도가 낮아도 전체적인 구조 파악을 빠르게 할 수 있다. 단점 : 디렉터리 안에 클래스들이 너무 모인다. 도메인형 장점 : 도메인의 관련 코드를 응집할 수 있다. 단점 : 프로젝트의 이해도가 낮을 경우 전체적인 구조를 파악하기 어렵다. 출처: https://velog.io/@sunil1369/Spring-boot-%ED%8C%A8%ED%82%A4%EC%A7%80-%EA%B5%AC%EC%A1%B0 직전 프로젝트에서는 계층형 구조를 사용했다. 초반엔 좋았는데 기능들이 많이 추가됐던 막판에는 찾아들어가기 귀찮았다. 다음 프로젝트는 도메인형을 써볼까...하지만 도메인형을 쓰다보면 공통적으로 쓰는 애들이나, 어떤 도메인에 넣어야 할지 애매한 애들때문에 계층형이 그리워지기도 하고... 2023. 2. 19.
반응형