메소드 오버로딩은 이름이 같고 인자 목록이 다른 메소드 두 개를 만드는 것이다. 오버로딩을 활용하면 호출하는 쪽의 편의를 위해 같은 메소드를 서로 다른 인자 목록을 가진 여러가지 버전으로 만들 수 있다.예)리턴유형이 달라도 된다.\-> 메소드를 오버로드 할때는 인자 목

PreparedStatement는 Statement를 상속하고 있는 Interface다.PreparedStatement 객체는 Connection 객체의 preparedStatement()메소드를 사용해서 생성한다.쿼리 문장 분석컴파일실행statement : 매번 쿼리
PreparedStatement에서 자동으로 증가된 키를 가져오기위해서위 코드를 실행시켜 보다가 이해가지않는 부분이 있어서 공부하게 되었다.Resultset 인터페이스는 select문을 executeQuery()메소드로 실행한 다음 반환되는 레코드셋을 저장한다. 레코드
이번에 DI를 사용해 간단한 코드를 작성해 보면서 DI에 대해 제대로 이해하지 못한것 같아 공부할겸 작성해보기로 했다DI(Dependency injection)으로 의존성 주입 혹은 의존 관계 주입이라고 불린다. Spring은 3가지 핵심 프로그래밍 모델(AOP,DI,
스프링시큐리티는 스프링 기반 애플리케이션의 인증과 권한을 담당하는 스프링의 하위 프레임워크이다.인증(Authenticate)는 로그인을 의미권한(Authorize)는 인증된 사용자가 어떤 것을 할 수 있는지를 의미한다.@EnableWebSecurity는 Spring s
스프링은 의존성 주입(Dependency Injection)을 위해 다양한 방식을 지원한다. 생성자 주입(Constructor Injection)은 그 중 하나로, 스프링은 생성자의 매개변수를 보고 어떤 빈을 주입해야 할지를 결정한다. 주로 다음과 같은 기준을 통해 주
퍼사드 패턴(Facade Pattern) >퍼사드 패턴은 어떤 소프트웨어의 다른 커다란 코드 부분에 대하여 간략화된 인터페이스를 제공해주는 디자인 패턴을 의미한다. 퍼사드 객체는 복잡한 소프트웨어 바깥쪽의 코드가 라이브러리의 안쪽 코드에 의존하는 일을 감소시켜 주고
@PostConstruct 어노테이션은 Spring 프레임워크에서 제공되는 초기화 메서드를 지정하기 위한 어노테이션 중 하나이다. 이 어노테이션을 사용하면 빈(Bean)이 초기화 될 때 특정한 메서드가 자동으로 호출된다.위 예제에서 init() 메서드는 @PostCon
안녕하세요! 이번에는 코드 테스트 작성 중에 마주한 문제와 그에 대한 해결 과정에 대해 공유하려고 합니다.테스트 코드를 작성하면서 Mock 객체를 활용하는 중에 예상치 못한 오류가 발생했습니다. 초기 코드는 다음과 같습니다.처음에 코드를 이렇게 작성했는데 이런 오류가
@SpringBootTest: 이 어노테이션은 스프링 부트 애플리케이션을 테스트하기 위한 통합 테스트를 지원한다. 이 어노테이션이 붙은 클래스는 스프링 부트 애플리케이션의 컨텍스트를 로드하고, 테스트 시에 실제 애플리케이션과 유사한 환경을 제공한다.@InjectMock
mockMvc를 이용해 회원가입 요청하는 controller에 대한 테스트를 하는도중 계속 오류가 발생했다.문제는 csrf였다.CSRF 공격은 사용자가 의도하지 않은 요청을 악의적으로 서버에 전송하는 공격으로, 이를 방어하기 위해 서버는 각 요청에 대해 고유한 CSRF
빌더 패턴 (Builder Pattern) 빌더 패턴은 객체의 생성과 표현을 분리하여 복잡한 객체를 단순화하는 디자인 패턴 중 하나이다. 주로 매개변수가 많은 생성자나 정적 팩토리 메서드의 대안으로 사용되며, 가독성이 높아지고 객체의 필드 추가나 변경이 용이해진다.
테스트 코드에서는 with(user("username").password("password").roles("USER"))와 같은 방법으로 미리 인증된 사용자를 설정할 수 있다.@WithMockUser 어노테이션을 이용하거나 구문을 이용하여 테스트를 진행시에 마치 로그인
추상화캡슐화다형성상속바뀌는 부분은 캡슐화한다상속보다는 구성을 활용한다구현보다는 인터페이스에 맞춰서 프로그래밍한다.전략패턴 - 전략 패턴은 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해준다. 전략패턴을 사용하면 클라이언트로부터 알고리즘을 분