2020-03-27 14:48:25 +09:00
2020-03-27 14:48:25 +09:00
2020-02-13 10:49:54 +09:00
2020-03-24 10:46:36 +09:00
2020-02-13 10:48:03 +09:00

스프링의 장점

1. 느슨한 결합

  • 느슨한 결합이란 interface와 DI를 적절히 활용하여 객체간의 결합도를 낮추는 것.

  • [ 정리블로그 링크 ]

2. DI ( Dependency Injection )

  • 의존관계 CLASS들의 객체 생성을 직접하지않고( new연산자 사용하지않고 ), 외부에서 대신 생성해줌으로서 코드변경 사항을 효율적으로 감소시킬 수 있다.

  • [ 정리블로그 링크 ]

3. IoC ( Inversion of Control )

  • 기존에 자바 어플리케이션을 개발할 때, 자바 객체를 생성하고 서로간의 의존관계를 연결시키는 작업에 대한 제어권은 보통 개발되는 어플리케이션에 있었다.

  • 그러나 Servlet, EJB등을 사용하는 경우 Servlet Container, EJB Container에게 제어권이 넘어가서 객체의 생명주기(라이프사이클)을 Container들이 전담하게 된다.

  • 이처럼 IoC에서 이야기하는 제어권의 역전이란 객체의 생성에서부터 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미한다.

  • Spring의 IoC컨테이너는 일반적으로 ApplicationContext 인터페이스를 구현 한 클래스를 뜻한다.

  • [ 정리블로그 링크 ]

4. AOP ( Aspect Oriented Programming )

  • AOP를 활용하면 비즈니스로직과 이외의 로직을 분리할 수 있다.

  • 이외의 로직은 보안,트랜잭션,로깅등의 작업이 있다.

  • 이외 로직들을 분리하는 것이 AOP의 방법론이다.

  • Proxy라는 도구를 사용해서 이외 로직들을 수행하면서 메인 프로세스를 호출하도록 제어할 수 있다.

  • [ 정리블로그 링크 ]

5. 스프링 활용하기

1) SpringSecurity

  • 스프링 시큐리티는 스프링 기반의 어플리케이션의 보안(인증과 권한)을 담당하는 프레임워크.
  • 스프링 시큐리티는 보안과 관련해서 체계적으로 많은 옵션들로 이를 지원해줌.
  • Spring Security는 filter 기반으로 동작하기 때문에 spring MVC 와 분리되어 관리 및 동작한다.
  • [ 참조1 ] , [ 참조2 ]
  • SpringSecurity 따라해보기 [ 링크 ]

삽질이력

분류 이슈 내용 조치 내용
Annotation servlet클래스에서 String을 return하여 [ .jsp ] 페이지로 forwarding 기대하였으나, 화면에 출력됨.. [Detail]
Http Method 설정오류 로그인 에러메시지 Security의 Session > request.Attribute방식으로 바꾸던 중 화면에 데이터출력 오류 [Detail]
MyBatis MyBatis사용하면서 MapperLocation변경 시 BindingException... [Detail]
SpringSecurity 설정오류 loadUserByUsername 메서드 수행시 DAO클래스 의존성이 주입되지않아, DB정보를 조회하지 못함. [Detail]
SpringSecurity 설정오류 없는 계정의 ID로 로그인시도 하여 UsernameNotFoundException에러 처리를 예상했으나 BadCredentialsException로 예외처리 됨. [Detail]
Description
spring 이해도를 높이기위한 공부
Readme 688 KiB
Languages
Java 47.3%
JavaScript 43.9%
CSS 8.8%