반응형 전체 글96 SpringSecurity-Authentication, OAuth2 로그인,회원가입 구현 스프링으로 '~로 로그인 하기' 를 구현 하고싶어서 처음엔 쌩으로 구글에 요청하고 accessToken, refreshToken을 받아서 진행해봤다. 그런 과정에서 spring security에서 oauth2 인증 로그인을 대신 해준다는 것도 발견했다. 그래서 이번엔 Spring Security를 공부해봤다. 밑에 있는 코드 설명을 단락별로 순서대로 적었다. 일단 WebSecurityConfigurerAdapter를 상속받는 클래스를 config패키지 아래에 만든 후, @EnableWebSecurity를 붙여 스프링 시큐리티 필터가 작동 되도록 한다. htt.authorizeRequests().andMathers() 부분은 페이지에 대한 권한을 설정해주는 곳이다. formLogin()부분은 로그인 정보를.. 2022. 2. 20. spring security - Error creating bean with name 'springSecurityFilterChain' spring security 를 공부하고 있는데 다른 문제가 았는줄 알고 해결해보려고 했는데, Error creating bean with name 'springSecurityFilterChain' 에러가 사라지지 않았다. 에러의 자세한 내용은 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiati.. 2022. 2. 20. JSON object, array parsing response body가 거의 json으로 와서 필요한 정보들만 가져오고 싶어 찾아봤더니 JSONObject 와 JSONAarray라는 것이 있었다. 내가 사용한 예 JSONObject jsonObject = new JSONObject(responseEntity.getBody()); JSONArray items = jsonObject.getJSONArray("items"); JSONObject item = items.getJSONObject(0); user.setChannelId(item.getString("id")); user.setTitle(item.getJSONObject("snippet").getString("title")); JSONObject로 전체를 받아온 후, items이름가진 배열을 J.. 2022. 2. 15. SpringBoot 의존성 주입 DI, 필드주입@Autowired ->생성자주입@RequriedArgsConstructor 의존성 주입을 하는 여러 방식 Spring에서 의존성을 주입(DI : Dependency Injection)하는 방법은 생성자 주입(lombok의 @RequiredArgsConstructor이용), 필드주입(필드 주입(@Autowired를 단 필드), 수정자주입(setter메소드에 @Autowired) 3가지 방식이 있다. 우선 의존성 주입이란 무엇인지 알아보자. new연산자를 이용하여 객체를 생성하는 것이 아니고, 외부에서 객체를 주입받아 생성하는 것이다. 객체 내부에 다른 객체를 생성하면 수정 시 새로 생성된 클래스도 함께 수정해야 하므로 강한 결합도를 가지고, 코드의 재활용성이 떨어지는 문제가 생긴다. ( 결합도는 낮추고 응집도는 높여야 한다. ) 그러나 스프링은 @Autowired을 붙이는 필드 .. 2022. 2. 15. java optional stream() Optional은 java8부터 생겨났다. 탄생배경은 null값을 반환할때의 위험성을 없애기 위함이다. 메서드가 반환할 결과값이 ‘없음’을 명백하게 표현할 필요가 있고, null을 반환하면 에러를 유발할 가능성이 높은 상황에서 메서드의 반환 타입으로 Optional을 사용하자는 것이 Optional을 만든 주된 목적이다. Optional 타입의 변수의 값은 절대 null이어서는 안 되며, 항상 Optional 인스턴스를 가리켜야 한다. 옵셔널 사용법을 공부해볼만한 링크들 java8, 9, 10까지의 Optional https://jdm.kr/blog/234 옵셔널 올바르게 쓰기: https://homoefficio.github.io/2019/10/03/Java-Optional-%EB%B0%94%EB%A5.. 2022. 2. 3. SpringBoot yaml, naver API와 연결하기 spring에서 yaml은 처음 써봤기 때문에 참고용으로 올려두려고 한다. // application.yaml naver: url: search: local: https://openapi.naver.com/v1/search/local.json Image: https://openapi.naver.com/v1/search/image client: id: 홈페이지에서 발급 secret: 홈페이지에서 발급 server: port: 포트번호 spring: mvc: view: prefix: /WEB-INF/views/ suffix: .jsp pathmatch: matching-strategy: ANT_PATH_MATCHER // swagger 버전오류해결 부분 그리고 위의 naver 부분을 java파일에서 가져다 .. 2022. 2. 3. 이전 1 2 3 4 5 6 7 ··· 16 다음 반응형