06-22 Spring

Ruinak·2021년 6월 22일
0

Spring Lesson

목록 보기
13/23
post-custom-banner

지난 시간에 Security 관련 설정을 완료함

Security 적용 확인

  • 이 화면이 뜬다는 것은 정상적으로 Security가 적용되었음을 의미함
  • Security 설정은 web.xml과 security-context.xml에서 설정함
  • 이 설정이 기본적으로 설정된 login 폼을 사용하겠다는 코드
  • 내가 만든 페이지인 customLogin 페이지를 찾아가겠음
  • HomeController에서 login 메서드 수정
  • 컨트롤러에서 리턴 되는 문자열도 그냥 문자열이 아닌 jsp를 찾게됨
  • 컨트롤러에서 void를 쓰면 Mapping된 이름의 jsp를 찾게 됨
  • 내가 설정한 login.jsp로 바뀜
  • root-context에서 hikariConfig 빈을 추가
  • & amp;를 이용해서 문장을 연결할 수 있음
  • 이 코드는 DB를 이렇게 한다고 객체를 하나 만든 것임
  • hikariConfig 빈과 sqlSessionFactory 빈 추가
  • MVN 저장소에서 mybatis 검색
  • pom.xml에 버전 3.4.6 코드 추가
  • MVN 저장소에서 mybatis-spring 검색
  • pom.xml에 버전 1.3.2 코드 추가
  • namespaces에서 mybaist-spring과 context를 체크해줌
  • root-context에 mybaits와 component-scan 추가
  • mysecurity 안에 mapper, repository, service 패키지 추가
  • mysecurity 안에 dto 패키지를 추가
  • dto 패키지에 AuthDTO 클래스를 생성
  • dto 퍀지ㅣ에 MemberDTO 클래스를 생성
  • mapper 패키지에 MemberMapper 인터페이스 생성하고 MemberDTO를 import 받음
  • src/main/resource 폴더에 com.mysecurity.mapper 패키지를 만들고 그 안에 MemberMapper.xml 파일 생성
  • MemberMapper.xml의 내부 코드 작성
  • CustomUserDetailsService 클래스의 loadUserByUsername 메서드 정상작동 확인하기 위해 출력문 추가
  • 잘 작동하는거 확인 완료!
  • 현재 여기까지 진행됨
  • pom.xml에 spring-test 5.2.15.REALEASE 버전 추가
  • src/test/java의 com.mycom.myapp 패키지에 MemberTest 클래스 생성
  • 스프링을 테스트 해보려고 하므로 pom.xml에 spring-test 코드 추가
  • MVN 저장소에서 코드를 가져올 시 scope가 설정되어있으면 지워줘야 함
  • 빌드 패스에서 JUnit 라이브러리의 버전 4를 추가
  • ContextConfiguration 애노테이션은 context를 불러오는 것
  • testInsertMember 메서드 작성
  • tbl_member라는 테이블에 값을 넣을껀데 100번을 넣을껍니다. 이 중 80번까지는 일반사용자, 90번까지는 운영자, 99번까지는 관리자로 등록이 될 것임
  • 실행시 MySQL에 데이터가 잘 저장되었음을 확인할 수 있음
  • 지울때는 위와 같은 방법으로 하면 지울 수 있음(물론 SQL문으로도 가능)
  • BCrypt를 사용 안하고 PasswordEncoder를 사용해도 되는 이유는 상속받아서임
  • testInsertAuth 메서드 생성
  • tbl_member_auth라는 테이블에 값을 넣을껀데 100번을 넣을껍니다. 이 중 80번까지는 일반사용자, 90번까지는 운영자, 99번까지는 관리자로 등록이 될 것임
  • 실행시 MySQL에 데이터가 잘 저장되었음을 확인할 수 있음
  • MemberMapper.xml 코드 작성
  • MemberMapper.xml의 read와 #{userid}가 MemberMapper.java에서 사용되는 것임
  • collection을 쓴 것은 1 대 N의 관계이기 때문임
  • 테스트 확인해보니 잘 되는걸 확인할 수 있음
profile
Nil Desperandum <절대 절망하지 마라>
post-custom-banner

0개의 댓글