Spring

· Spring
Spring에서 ApplicationContext는 Spring 컨테이너를 의미하여, Spring Bean을 관리하는 핵심 인터페이스입니다.즉, Spring에서 객체(Bean)의 생성, 초기화, 의존성 주입(DI), 생명주기 관리 등을 담당합니다. 1. ApplicaionContext 의 역할 Spring 애플리케이션에서 중앙 컨테이너 역할을 하며 다음 기능을 제공합니다.Bean 등록 및 관리- @Component, @Service, @Repository, @Controller, @Bean 등을 사용하여 Spring Bean을 관리- 싱글톤(Singleton) 스코프를 기본적으로 유지의존성 주입(DI, Dependency Injection)- @Autowired, @Qualifier, @Inject 등을..
· Spring
개념Self-Invocation은 객체가 자기 자신의 메서드를 호출하는 것을 의미합니다. 즉, 클래스 내부에서 자기 자신의 다른 메서드를 호출하는 경우입니다.  하지만, Spring AOP에서 Self-Invocation은 AOP가 적용되지 않는 문제를 일으킬 수 있습니다.  1. Self-Invocation 예제@Servicepublic class MyService { public void methodA() { System.out.println("Method A 실행"); methodB(); // Self-Invocation (자기 자신 호출) } public void methodB() { System.out.println("Method B 실행"..
· Spring
개념프록시는 '대리인'이라는 뜻을 가지며, 소프트웨어에서 클라이언트와 대상 객체 사이에서 중간 역할을 수행하는 객체를 의미합니다.용도 보안(Security): 직접 접근을 막고 제어할 수 있음.성능 향상(Caching, Lazy Loading): 객체 생성을 지연시키거나 캐시를 활용함.로깅(Logging) 및 모니터링(Monitoring): 메서드 호출 전후로 로깅을 추가할 수 있음.트랜잭션(Transaction) 관리: 데이터베이스 트랜잭션을 프록시 객체에서 처리할 수 있음.AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)와 프록시 기반 동작 방식Spring AOP는 프록시(Proxy) 기반으로 동작하며, 주로 Spring의 @Transactional, @Aspect, ..
· Spring
이와같이 패키지에 파일이 아무것도 없을때, 불편한 적이 있는데 아래와 같이 있는 루트로 들어가게되면 Compact Middle Packages 항목의 체크표시를 풀어주면 됩니다!!   저는 이와같이 전체 분리되어있는게 보기 더 편하더라고요 :) 혹시나 저와같이 찾는 분이 있을까봐 정리한, 인텔리제이 사용법이였습니다 :)
· Spring
과 같은 에러가 발생했다. 이 이유는 Spring Boot 파일을 처음 생성했을때, JAVA 21을 선택하였지만 해당 build.gradle 파일에서의 나의 설정은 17로 설정되었기 때문이다. 17 -> 21로 바꾼 후 빌드해주면 정상적으로 실행되는 것을 확인할 수 있다 :)    간단하게 해결할 수 있던 에러였지만, 앞으로 내 과거의 버그들을 하나하나씩 기록해가려한다! 어쩌면 첫 개발을 하는 사람들에게는 유용한 정보가 될 수 있고, 미래의 내가 과거의 나를 되돌아봤을때, 즐거운 추억이 될 수 있기 때문이다 :)
· Spring
Spring Security에서 사용되는, 두가지 주요 클래스인 WebSecurity와 HttpSecurity를 한번 알아보겠습니다. WebSecurity Spring Security의 보안 설정을 구성하기 위한 클래스입니다. 주로 인증과 관련된 설정을 처리하며, 사용자 인증정보를 어떻게 로드하고, 비밀번호 인코딩 방식을 설정하고, 사용자의 권한을 어떻게 확인할지 구성합니다. WebSecurityConfigurerAdapter를 확장하여 사용하며, configure(WebSecurity web)메소드를 오버라이드하여 필요한 보안 설정을 추가합니다. 주요 메소드 configure(AuthenticationManagerBuilder auth) 사용자 인증을 구성하는 메소드입니다. 사용자의 인증정보를 로드하고..
· Spring
AuthenticationEntryPoint Spring Security에서 인증이 필요한 리소스에 접근 시 발생하는 인증 예외를 처리하는 인터페이스 입니다. 인증이 필요한 리소스에 접근하려는 클라이언트의 요청이 인증되지 않았을 때 호출되어 사용자를 로그인 페이지로 리다이렉트하거나, 인증 오류 메세지를 반환하는 등의 작업을 수행합니다. 주요 메소드 commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) 인증이 필요한 리소스에 접근하려는 클라이언트의 요청이 인증되지 않았을 때 호출 인증이 필요한 리소스에 접근하려는 클라이언트의 요청, 서블릿 요청 및 인증 예외를 받아 작업 ..
· Spring
ADMIN에서의 Spring Security를 이용한 권한 설정을 하면서, 참고한 메소드를 정리해보았습니다. antMatchers() HTTP 요청 경로에 대한 권한을 설정하는 메소드 .antMatchers("/public/**").permitAll() authorizeRequests() HTTP 요청에 대한 권한을 구성하는 메소드 .authorizeRequests().antMatchers("/admin/**").hasRole("ADMIN") formLogin() 폼 기반 로그인을 활성화하는 메소드 .formLogin() httpBasic() HTTP Basic Authentication을 활성화하는 메소드 .httpBasic() logout() 로그아웃 구성을 위한 메소드 .logout() csrf()..