목록2024/10/10 (3)
The Debugging Chronicles : "코드의 미학"
서비스 레이어가 추가 되었으니까다른 어노테이션이 되기 전에 먼저 new가 되면 어떨까?New의 순서를 컨트롤 하기 위해 고안된 아키텍처(구조)이다 1)service 레이어를 추가했으니2)@service == new service 를 먼저 해주면 어떨까?3) 또 다른 스프링 컨테이너 ( == 루트 컨테이너)를 추가 총 xml이 3개1.web.xml 서블릿 컨테이너(==톰캣)2. ds-servlet.xml 스프링 컨테이너3. applicationContext.xml 스프링 컨테이너 (== 루트 컨테이너) 그럼 컨트롤러가 먼저 new가 되어야 할까 service가 되어야 할까?서비스가 먼저 되어야한다. 그래서 루트 컨테이너가 먼저 된다. dispatcherSevlet 때문에 ds-servlet.xml이 먼저 ..
생각1. DAO가 굳이 매개변수 자리에 있어야 하나?- view에서 쓰지 않는데 굳이 인자로 삼아야할까?생각2. 무언가를 인자로 삼으면, 결합도가 높아진다. 개발을 하면 가장 변동이 심한 것 중하나가 DBMS이다예상 동시 이용 인원 DBMS 이관해야하면 DAO가 바뀐다.MySQL BoradDAOOracle BoradOracleDAOMaira MairaBoradDAO DAO를 인자로 작성하면 이관작업할 떄 마다인자를 따라 다니면서 다 바꿔야한다. ==> 유지보수가 아주 불편한 상태이다 1. DAO를 멤버변수로 위치 시킨다면??=> 그래도 여전히 이관작업할 때 마다 코드를 변경해야함 컴파일 >> 결합도가 여전히 높음 그럼 DAO 상위 객체를 찾아보자 바로 service이다2. service 를 멤버..
get post를 핸들러 맵퍼가 구별할 수 있다면요청명을 줄여 쓸 수 있다.CU가 있으면 POST로 보내고 insertBoard를 get login 은 보안을 다루는 기능이기 때문에 POST로 적어준다. 데이터 보낼때 무엇을 사용해야하는가? modelandView를 사용하지 않고 String 을 사용한 이유는 '경량'이기 때문이다 대부분 model을 사용하는데 그런데 로그인 정보는 어딜 가든 유지 되어야 하기 때문에 Session에 넣어서 보낸다 UserID를 써서 한곳에 묶어 주어서 응집도를 높이고 유지보수를 좋게 했다 리다이렉트가 있는 것과 없는 것과 차이가 있는데 redirect: 가 없으면viewResolver가 개입VR가 포워드가 디폴트 보낼 데이터가 있으면 페이지 이동(==v로 이동..