스프링 시큐리티를 적용하면서 직접 시큐리티를 커스텀 설정한다. Spring @EnableWebSecurity vs @EnableGlobalMethodSecurity Protecting Our Endpoints --> @EnableWebSecurity With Spring Security on the classpath, Spring Boot Security Auto-Configuration‘s WebSecurityEnablerConfiguration activates @EnableWebSecurity for us. AD This applies Spring's default security configuration to our application. Default security activates both ..

Spring Core 인 Bean과 Container의 관계를 알고 있습니다. 스프링은 좋은 객체 지향 어플리케이션을 만들 수 있도록 도와주는 하나의 프레임워크 입니다. 따라서 스프링의 핵심은 객체 지향입니다. 이러한 객체 지향의 방향으로 스프링의 bean과 container는 스프링의 core입니다. 스프링 컨테이너 는 객체의 생명주기를 관리, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것 인스턴스 생성부터 소멸까지의 인스턴스 생명주기 관리를 개발자가 아닌 컨테이너가 대신 해줍니다. 객체관리 주체가 프레임워크(Container)가 되기 때문에 개발자는 로직에 집중할 수 있는 장점이 있습니다. 그렇다면 스프링 Bean은 무엇인가? Bean 은 스프링 컨테이너에 등록된 객체를 말한다. 따라서 스..

Spring Framework Spring Core 인 Bean과 Container의 관계를 알고 있습니다. 스프링의 특징인 IoC/DI 를 관계를 알고 있습니다. Spring AOP를 관계를 알고 있습니다. Spring MVC 를 이용해 프로젝트를 진행하였습니다. MVC 패턴에 대해 설명해주세요 - jwt JWT는 JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 웹 토큰입니다. 토큰에서 사용할 정보 JWT는 헤더, 페이로드, 시그니쳐 3 부분으로 이루어지며 각 부분은 Base64Url로 인코딩 됩니다. 토큰의 헤더는 시그니쳐를 해싱하기 위한 알고리즘이 지정되어있고 페이로드는 토큰에서 사용할 정보가 담겨있습니다. 시그니쳐는 토큰을 인코딩 혹은 유효성 검증을 할 때 사용하는 고유한..

JAVA OOP의 특징인 상속, 캡슐화, 다형성, 추상화 를 설명할 수 있습니다. - 캡슐화 (자바 접근 제한자) : 정보의 은닉 실제로 구현 부분을 외부에 드러나지 않도록 하는 것 변수와 메소드를 하나로 묶음 데이터를 외부에서 직접 접근하지 않고 함수를 통해서만 접근 public : 모두가 접근 가능 protected : 상속 / 같은 패키지 내 클래스에서 접근 가능 default : 같은 패키지 내 클래스에서 접근 가능 private : 본인만 접근 가능 -상속 : 재사용 + 확장 자식 클래스가 부모 클래스의 특성과 기능을 물려받는 것 기능의 일부분을 변경하는 경우 자식 클래스에서 상속받아 수정 및 사용함 상속은 캡슐화를 유지, 클래스의 재사용이 용이하도록 해 준다. -추상화 인터페이스로 클래스들의 ..
영속 계층의 작업 순서 - 테이블의 column 구조를 반영하는 VO(VALUE OBJECT) 클래스의 생성 - MyBatis 의 Mapper 인터페이스의 작성/XML 처리 - 작성한 Mapper 인터페이스의 테스트 ## VO 클래스의 작성 VO 클래스는 테이블 설계를 기준으로 작성하면 된다. BoardVO @Data public class BoardVO { private Long bno; private String title, content, wirter; private Date regdate, updateDate; } BoardVO 클래스는 Lombok의 @Data 어노테이션을 사용하여 생성자, getter/setter, toString() 만들어낸다. ## Mapper 인터페이스, Mapper XM..

- JDBC 테스트 코드 작성 : 데이터베이스가 제대로 연결이 되었는지 확인할 수 있는 테스트 코드를 작성한다. 테스트 코드는 Java와 JDBC 드라이버만으로 구현해서 먼저 테스트한다. 정상적으로 연결이 된다면 Connection 객체가 출력된다. @Log4j public class JDBCTests { static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (Exception e) { e.printStackTrace(); } } @Test public void testConnection() { try (Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@local..
롬복은 컴파일 시 자주 사용되는 코드를 작성하는 기능들을 완성해주는 라이브러리 - @setter : setter 메서드를 만들어주는 역할을 한다. 3가지 속성 value : 접근 제한 속성을 의미 onMethod : setter 메서드의 생성 시 메서드에 추가할 어노테이션을 지정 onParam : setter 메서드의 파리미터에 어노테이션을 사용하는 경우 적용한다. - @Data : @ToString, @EqualsAndHashCode, @Getter/Setter, @RequestArgsConstructor를 모두 결합한 형태로 한 번에 자주 사용되는 모든 메서드를 생성한다. -@Log4j : 로그 객체를 생성한다. -@Component : 어노테이션이 설정된 클래스가 스프링에서 객체로 만들어서 관리하는..