이번 주의 과제는 spring을 사용해 CRUD를 구현하는 능력울 기르는 것을 중점적으로 요구한 것 같다. 처음 사용해보는 것이라 여러가지 잔실수를 많이 했는데 이것은 점차적으로 개선해야 할 것 같다.
privite으로 변수를 선언하고 Getter와 Setter를 안 쓰거나 @controller를 적용 안하고 사용하는 등의 문제가 발생했을 때 주의를 기울여야 할 것 같았다.
요구사항에서 GET과 POST만을 요구했으나 하는 김에 PUT과 DELETE도 구현하기로 하였고 정확하게 작동하는 것을 확인했다. 그리고 html파일이 3개가 필요했는데 모달창을 이용해 1개로 줄였으나 가시성 문제로 다음에 html을 여러개 사용할 경우 다른 방법을 써야겠다는 생각을 했다.
기본 요구사항을 구현하고 시간이 남아 추가 요구사항인 필터 라이브러리를 적용해보기로 했다. XSS를 방어하는 lucy xss filter를 적용하기로 했는데 작동 방식은 둘째치고 어떻게 동작시키는지 이해를 못해 많은 시간을 투자하게 되었다. 구글의 도움을 받아 어떻게 설치를 했는데 동작을 하지않아 다시 찾아보니 JSON입력에는 적용이 되지 않는다는 사실을 알게되어 관련된 설정을 하고 동작시켰다.
github 주소 : https://github.com/galaxian/springweek1
2의 경우를 제어의 역전(IoC)라고 부르며 사용자가 객체를 관리하는 것이 아닌 스프링에게 위임해 컨트롤을 넘기게 된다.
스프링의 Ioc 컨테이너가 관리하는 자바 객체를 bean이라는 용어를 사용한다. bean은 사용자가 아닌 스프링이 생성 및 관리를 하며 @Component,와 @Bean을 사용해 스프링에게 권한을 넘길 수 있다.