| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- react
- Spring
- VSCode
- JavaScript
- SAP
- log4j2
- springboot
- IntelliJ
- docker
- gson
- Java
- maven
- JPA
- useEffect
- MySQL
- BPMN
- sapfiorielements
- nodejs
- database
- Windows
- mybatis
- dbeaver
- tibero
- gradle
- nginx
- Kubernetes
- Git
- Linux
- NCP
- LOG4J
- Today
- Total
목록전체 글 (263)
두 손끝의 창조자
어떤 클래스가 JpaRepository를 참조하기 위해서 @Autowired나 생성자, 속성으로 할 수 있다. Namespace로 빈을 선언할 때 생성자로 참조하기 위해서 JpaRepository를 넣어주면 참조하기 못하는 현상을 발견했다. 이걸 그냥 Autowired로 바꾸면 잘 되는데.... 아무래도 생성자 방식으로 했을 때 JpaRepository가 아직 Bean으로 만들어지지 않은 상황에서 생성자가 실행되어서 그렇지 싶다. 이걸 어떻게 극복을 하는지 모르겠다. 해결 Autowired로 인해서 잘 초기화된 것이 아니었다. 그냥 null로 바인드 되어서 잘 된 것처럼 보일 뿐... 이것만 봐도 그냥 Autowired를 쓰는 것보다는 생성자로 명시적으로 받는 것이 오류를 미리 발견할 수 있다. 참조하지..
linux lsof -i :1099 windows netstat ano|find "1099"
http .authorizeRequests() .accessDecisionManager(applicationContext.getBean("accessDecisionManager", AccessDecisionManager.class)) http .authorizeRequests() .accessDecisionManager(accessDecisionManager()) 어느 방법이 효율적일까? accessDecisionManager()으로 호출해도 새로운 객체가 생성되지는 않는다. 왜일까?
시스템이 초기화되면서 AccessDecisionManager에 등록된 Voter가 Configuration에서 설정한 속성을 지원하는지 검사하도록 되어있다. 같은 코드임에도 불구하고 XML로 정의하면 정상동작하고, Java Config로 정의하면 실패했다. @Override public boolean supports(ConfigAttribute attribute) { return attributes.contains(attribute.getAttribute()); } XML로 정의할 때 use-expressions="false" 로 넣어주면 attribute.getAttribute()로 access 에 넣었던 값, 또는 표현식을 가져올 수 있었는데 Java Configuration에서는 null 이 리턴되..
HttpSecurity는 네임 스페이스 구성에있는 Spring Security의 XML 요소와 유사합니다. 특정 http 요청에 대해 웹 기반 보안을 구성 할 수 있습니다. 기본적으로 모든 요청에 적용되지만 requestMatcher (RequestMatcher) 또는 기타 유사한 메소드를 사용하여 제한 할 수 있습니다. @Configuration @EnableWebSecurity public class FormLoginSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatche..