반응형

전체 글 19

Google IMAP 및 SMTP 설정 값

이메일 클라이언트 앱을 사용하는 경우에 구글의 이메일을 받고, 보낼 수 있도록 설정을 해야 하는 경우가 있다. 아래 정보를 이용하여 세팅해주면 된다. Add Account(계정 추가)이름: Google Workspace Gmail 계정에서 사용하는 이름이메일 주소: Google Workspace Gmail 주소계정 유형: IMAP수신 메일 서버: imap.gmail.com보내는 메일 서버(SMTP): smtp.gmail.com사용자 이름: Google Workspace Gmail 주소비밀번호: Google Workspace Gmail 비밀번호고급 탭에 다음 값을 입력합니다.수신 서버(IMAP): 993발신 서버(SMTP): 587참고: 발신 서버(SMTP) 암호화 연결 유형을 SSL로 변경하는 경우 발신..

Email 2025.03.18

NGINX 프록시 서버 세팅으로 Spring Boot 연결

현재 상태인터넷은 80 포트 사용.스프링 부트로 개발한 사이트는 8080 포트 기본.nginx로 80포트로 접근을 받고, spring boot의 8080 포트로 전달 시킨다.SSL 설정도 certbot을 통해 이미 Let's Encrypt 설정해 놓았다. 먼저 스프링 부트로 개발한 jar 파일(app.jar)을 실행 시킨다.로그 파일(app.log)도 남겨보자.nohup java -jar app.jar > app.log 2>&1 &postil@server:~$ lsapp.jarpostil@server:~$postil@server:~$postil@server:~$ nohup java -jar app.jar > app.log 2>&1 &[1] 55475postil@server:~$ 그럼 잘 실행되고..

NGINX 2025.03.05

lsb_release -a

내가 설치한 리눅스의 정보를 알고 싶었다.postil@server:~$ lsb_release -aNo LSB modules are available.Distributor ID: DebianDescription: Debian GNU/Linux 12 (bookworm)Release: 12Codename: bookwormpostil@server:~$  lsb_release -a 명령어는 리눅스 시스템에서 배포판의 정보를 확인하기 위해 사용된다.명령어의 lsb는 Linux Standard Base(LSB)이다. 명령어 설명lsb_release: 리눅스 배포판 정보 조회 명령어.-a: 모든 정보를 출력하라는 옵션. 이 옵션을 사용하면 배포판의 이름, 버전, 코드명, 릴리스 정보 등을 포함하여 자세한 정보를 제공.

데비안 리눅스 2025.03.04

제약을 통한 일관성 @NoArgsConstructor(access = AccessLevel.PROTECTED)

객체를 생성할 때, 제약을 두어야 일관되게 생성할 수 있다. 더 나아가 잘못된 생성을 막을 수 있다. 아래 OrderItem 클래스는 주문상품에 대한 엔티티 클래스이다.생성 메서드를 통해서 주문을 생성하도록 되어 있다.@Entity@Setter @Getterpublic class OrderItem { ... // 생성 메서드 public static OrderItem createOrderItem(Item item, int orderPrice, int count) { OrderItem orderItem = new OrderItem(); orderItem.setItem(item); orderItem.setOrderPrice(orderPrice); ..

스프링 부트 2025.02.19

JUnit4 스프링 부트 테스트 ①

테스트 클래스를 보면, @RunWith(SpringRunner.class)@SpringBootTest@Transactionalpublic class MemberServiceTest { @RunWith(SpringRunner.class)JUnit4 실행할 때, 스프링이랑 같이 엮어 실행하겠다는 의미로, @RunWith에 SpringRunner.class를 넣어준다. 아마 JUnit 버전 업이 되고 스프링 테스트쪽도 버전 업이 되면 없어지지 않을 까 한다.@SpringBootTest스프링 부트를 띄운 상태로 테스트를 할 때 필요하다. 이것이 없으면 @Autowired가 다 실패한다. 스프링 컨테이너 안에서 이 테스트를 돌리는 것이다. @Transactional이 어노테이션은 테스트 케이스에서 사용될 때는 트..

스프링 부트 2025.02.18

@Autowired 어노테이션을 통한 인젝션(Injection) 방법들

필드 인젝션 방법@Autowired //[방법 1]private MemberRepository memberRepository;선언된 필드에 @Autowired 어노테이션을 등록하는 방법으로 memberReposiroty를 인젝션 한다.@Autowired 어노테이션이 있으면, 스프링이 바로 인젝션 해준다.테스트시 값을 바꾸어 테스트하기 어렵다. Setter 인젝션 방법private MemberRepository memberRepository;@Autowired //[방법 2]public void setMemberRepository(MemberRepository memberRepository) { this.memberRepository = memberRepository;}필드의 값을 setter 메서드..

스프링 부트 2025.02.18

JPA @Transactional

기본적으로 트랜잭션 안에서 데이터를 변경하는 것은 @Transactional이 꼭 있어야 한다. @Transactional은 두 개가 있다.import jakarta.transaction.Transactional; //이전 javaX. 지금은 jakartaimport org.springframework.transaction.annotation.Transactional; // 스프링jakarta(이전 javax)에서 제공하는 것과 스프링에서 제공하는 것.이미 스프링을 사용하고 있으므로 스프링에 Dependency한 로직이 많이 들어 있음으로 스프링에서 제공하는 @Transactional를 사용하는게 낫다. 더 많은 기능을 제공한다. 이 트랜젝션 어노테이션을 클래스 레벨에서 주는 방법이 있고, 메서드 레벨에..

스프링 부트 2025.02.18
반응형