본문 바로가기

Spring

(13)
SprtingSecurity(메뉴 권한 및 WebIgnore 설정) Js / css / image 파일 등 보안 필터를 적용할 필요가 없는 리소스를 설정 @Override public void configure(WebSecurityWeb) thrwos Exception{ web.ignoring().requestMatchers(Path.Request.toStaticResources().atCommonLocation()); 서버에 요청을 하게 되면 SprintSecurity가 해당자원에 접근할수 있는지 권한감사를 하게되는데 기본적으로 정적인파일 까지도 보안 필터를 과정을 진행한다 Js / css / image 같은 파일등 보안필터를 적용할 필요가 없는 리소스 설정을 WebIgnor 설정이라고 한다 이전 권한설정은 admin은 환경설정에만 접근이 가능할수 있도록 했지만 상식적..
Oracle 연동 ㅎ ㅏ.. 구글링 하면 h2나 아니면 mySql이 가장 많이 나온다 난 한번에 되는경우가 잘 없다 ㅋㅋ 그래서 남긴다 이거 보면서 Oracle연동 할때 나와같은 삽질을 하지 않길 바랄뿐이다. 내가 했던 사양은 mac os , 툴은 인텔리 j , 버전은 gradle 이니 참고 바란다. 1) Application properties 여기까지는 정말 쉽게 구글링 하여 알수 있었다. 하지만 삽질은 여기서 부터 시작이였다 드라이버 이름과 url 을 서로 바꿔서 사용했기때문이다. 이런 어처구니 없는 실수를 하여 2시간을 소비 했다.. 그러면 저기서 run을 하면?.. 두근두근두근두근 빠라빠라빠라 짠 !!! 사진 삭제 역시 한번에 될리가 없다 클래스 경로 자원에 정의 된 이름 'dataSource'로 bean 생성 ..
Aop 패러다임 AOP는 흔히 '관점 지향 프로그래밍' 이라는 용어로 번역되는데, 이때 '관점(Aspect)' 이라는 용어가 현실적으로 와닿지 않기 때문에 어렵게 느껴질수 밖에 없다. 그럼 '관점'? 이 개발자에게 어떤 의미일까? 개발자들에게 관점은 '관심사' 라고 생각하면된다. '관심사'는 개발 시 필요한 고민이나 염두에 두어야 하는 일이라고 생각할 수 있는데, 코드를 작성하면서 염두에 두는 일들은 주로 다음과 같다. 파라미터가 올바르게 들어왔을까? 이 작업을 하는 사용자가 적절한 권한을 가진 사용자일까? 이 작업에서 발생할 수 있는 모든 예외는 어떻게 처리해야 하는가? AOP는 이러한 고민에 대한 문제를 조금 다른 방식으로 접근한다. AOP가 추구하는 것은 '관심사의 분리(separateconcerns)입니다. AO..
Rest REST는 'Representational State Transfer'의 약어로 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 작업을 지정한다.따라서 REST방식은 다음과 같이 구성된다고 생각할수 있습니다. 따라서 REST는 Representational State Transfer 약자로 웹의 장점을 최대한 활용활 수 있는 아키텍처 이다. REST와 관련해서 알아 두어야 하는 어노테이션들은 다음과 같습니다. REST 방식에서 가장 먼저 기억해야 하는점은 서버에서 전송하는 것이 순수한 데이터라는 점입니다. 기존의 Contrller에서Model에 데이터를 담아서 JSP등과 같은 뷰(View)로 전달하는 방식이 아니므로 기존의 Controller와는 조금 다르게..
MVC구조 스프링 MVC 프로젝트를 구성하기 위해서 사용한다는 의미는 내부적으로 root-context.xml 로 사용하는 일반 java영역(POJO)과 serv;et-context.xml로 설정하는 web관련 영역을 같이 연동해서 구동하게 됩니다. 그림으로 간단하게 표현하면 다음과 같은 구조라고 볼수 있다. 바깥쪽에 있는 WebApplicationContext라는 존재는 기존의 구조에 MVC 설정을 포함하는 구조로 만들어 집니다. 스프링은 원래 목적 자체가 웹 애플리케이션을 목적으로 나온 프레임워크가 아니기 때문에 달라지는 영역에 대해서는 완전히 분리하고 연동하는 방식으로 구현되어 있습니다. 스프링MVC 기본사상 스프링 MVC를 이용하게 되면 개발자들은 직접적으로 HttpServletRequest/HttpServ..