분류 전체보기
-
시큐리티 1부~2부Spring 2020. 7. 13. 15:50
- 시큐리티 의존성 추가시 인증되지 않은 사용자가 접근시 /login으로 리다이렉트 된다. (테스트 코드 포함) - 접속시 스프링부트 자동 설정에 의해서 username, pass 가 주어진다. 기본 username : user passowrd : 애플리케이션을 실행할 때마다, 랜덤하게 주어진다. - 테스트 코드에서 인증된 유저 정보가 주고싶을때 spring-security-test 의존성 추가, 위와 같이 @WithMockUser 추가 - SecurityConfig 설정 이전에 ConditionOnMissingBean이였는데 WebSecurityConfigurerAdapter를 상속받았으니 기존의 자동설정은 이제 적용되지 않는다. 이렇게 실행시, my 에서만 로그인을 요구한다. - UserDetailS..
-
데이터 7부 : 데이터베이스 초기화Spring 2020. 7. 13. 13:09
spring.jpa.hiberante.ddl-auto= create-drop : 처음에 생성 후 앱 종료시 제거 create : 지우고 새로 생성 update : 기존 스키마 유지, 추가 된것만 변경 validate : 맵핑 할수있는 상황인지 검증 spring.jpa.generate-ddl = false, true 위에서 설정한 옵션을 사용할지 말지 true / false 이렇게 설정하면 @Entity 정보를 바탕으로 스키마를 자동 생성한다. sql l찍히는게 보고싶다면 spring.jpa.show-sql = true 실제 애플리케이션 운영시에는 보통 validate, false로 사용한다 (검증) validate일때 entity를 변경하면 에러가 난다. update일때는 entity를 변경시 변경해서 ..
-
데이터 5~6부 : 스프링 데이터 JPASpring 2020. 7. 12. 16:25
Spring Data JPA -> JPA -> Hibernate -> Datasource - 의존성 추가 spring-boot-starter-data-jpa, - 실제 수행과 테스트를 위한 디비 의존성 추가 h2, postgresql - 클래스 생성 @Entity -> 테이블을 객체화 시켰다고 생각. @GeneratedValue -> repository를 통해 저장할 때, 자동으로 값을 준다 . Auto라고 생각. 기본적으로 id , getter,setter가 필요하다. getter,setter, equlas,hashCode 생성 , 롬복을 활용해도 좋다. - Repository interface 생성 extends JpaRepository - 테스트 @SpringbootTest로 통합 테스트, @Dat..
-
데이터 3부 : MySQLSpring 2020. 7. 12. 14:32
DBCP (database connection pool ) connection은 만드는 과정이 비용이 비싸다. 그래서 미리 여러개 만들어 놓고 필요할 때 마다 미리 만들어져있는걸 가져다 쓰는 개념이다. 몇 개를 만들지, 응답 시간 등 여러가지 설정을 할 수 있다. / application.properties spring.datasource.hikari.* ex) max-pool-size DBCP는 애플리케이션에 핵심적인 역할을 하고 매우 중요하다. spring boot는 hikaricp를 기본적으로 사용한다. 자세한 내용은 문서참조 mysql 설정 - 의존성 추가 - docker를 통한 mysql 설치 MysqlRunner를 만들어 실행후 터미널에서 확인시 제대로 저장된 것을 볼 수 있다.
-
데이터 2부 : 인메모리 데이터베이스Spring 2020. 7. 12. 14:01
지원하는 인메모리 데이터베이스 - H2 (추천) - HSQL - Derby jdbc, h2 의존성 추가 jdbc가 들어오면 자동설정 여러가지가 지원됨. jdbc 의존성 추가시 DataSource, jdbcTemplate 주입받아 사용 가능 아무런 데이터 소스 설정이 없으면, 스프링 부트는 자동으로 인메모리 데이터베이스를 설정한다. 기본 연결 정보는 URL : "testdb" username : "SA" 생성되었는지 어떻게 확인하는가 ? h2-console에 접속해서 확인이 가능하다. application.properties에 spring.h2.console.enables=true 추가 localhost:8080/h2-console로 접속 , URL, Name 정보 확인 후 연결시 확인 가능하다. Jdbc..
-
웹 MVC 8부 ~ 11부Spring 2020. 7. 11. 20:06
8부 HtmlUnit 9부 ExceptionHandler 여기서 바로 AppError로 반환하는데 ResponseEntity처럼 보낼 수 도 있다. 그리고 이 컨트롤러에만 관한게 아니라 전체를 다룰때는 @ControllerAdvice를 붙여서 사용한다. @ControllerAdvice인 클래스를 작성하고 @ExceptionHandler에 관한 메소드를 모아서 사용한다. - 커스텀 에러 페이지 resources/static/error/ 에러코드와 맞는이름으로 작성하면 자동으로 바인딩 ex) 404 -> 404 / 500번대의 에러 -> 5xx 10부 Spring HATEOAS Rest API 를 만들때 서버가 리소스에 대한 정보를 제공할 때, 그 리소스와 연관이있는 링크 정보들까지 같이 제공하고, 클라이언..
-
chapter2) 그 해의 남은 일 수 구하기PS/etc 2020. 7. 9. 21:11
// 그 해의 남은 일수 구하기 public class Q9 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int retry; System.out.println("그 해 남 일수를 구합니다"); do { System.out.print("년 : "); int year = scanner.nextInt(); System.out.print("월 : "); int month = scanner.nextInt(); System.out.print("일 : "); int day = scanner.nextInt(); System.out.printf("남은 일수는 %d일입니다.\n", remainDayOfYear(yea..