spring40 [Spring]@Autowired와 @AllArgsConstructor의 차이 공부를 하면서 객체를 주입 받을때 주입 받는 방법은 총 3가지 방법이 존재한다. 나는 @Autowired 를 이용하여 필드에 붙이는 방식이 편하여 그동안 이렇게 주입했었는데 이 방법은 좋지 못한 방법이라는 글을 보았다. 그래서 정리하고자 한다. | 생성자 주입(Constructor Injection) 단일 생성자인 경우에는 @Autowired 어노테이션 조차 붙이지 않아도 되지만 생성자가 2개 이상인 경우에는 생성자에 어노테이션을 붙여주어야 한다. 예를들어 단일 생성자 같은 경우 @Component public class MadExample { // final로 선언할 수 있는 보너스 private final HelloService helloService; // 단일 생성자인 경우는 추가적인 어노테이션이.. 2020. 3. 11. [Spring Test]-IntStream의rangeClosed | IntStream - Java8에서는 반복분 ex)while,do-while,for 등을 간결하게 처리할 수 있는 방법을 제공합니다. - 무조건 IntStream이 좋은 것이 아니고, 그때그때 상황에 따라 적절한 반복문을 쓰는 것이 필요합니다. - 하지만 IntStream을 잘 쓰면 코드가 깔끔해져서 좋습니다. - Stream은 당연히 IntStream 말고도 여러 종류의 Stream이 있습니다. 먼저 간단한 예시를 보여드리겠습니다. for문 public void _loop() { for (int i = 1 ; i { //수정 if (i >= 5) { return; } System.out.println(i); }); } //결과 1 2 3 4 수정된 코드는 결과 값은 5입니다. 하지만 위 코드는 fo.. 2020. 3. 10. [Spring]- UriComponentsBuilder란? | UriComponentsBuilder 웹페이지에서 매번 파라미터를 유지하는 일이 번거롭고 힘들다면 한 번쯤 " UriCompoentsBuilder "라는 클래스를 이용하여 작성해보자 ! org.spring.framework.web.util.UriComponentsBuilder는 여러 개의 파라미터들을 연결하여 URL 형태로 만들어 주는 기능을 가지고 있습니다. 즉 Controller단에서 addAttribute로 하나 하나 속성을 지정해주지 않아도 이 class를 이용하면 손쉽고 간단하게 파라미터들을 전달할 수 있습니다. (컨트롤러에서 리다이렉트 시 여러 파라미터들을 일일이 다 addAttribute를 하기엔 버거웠습니다.) (이방법은 한글 처리에 신경쓰지 않아도 된다는 점이 유용합니다.) 예를들어 .. 2020. 3. 9. [Spring]addAttribute와 addFlashAttribute 차이점 addAttribute와 addFlashAttribute의 차이점 addAttribute는 삭제를 했을 때 url 을 보자. redirect는 list까지다. 근데 page , perPageNum, searchType, keyword 가 뒤에 따라 붙었다. rttr.addAttribute 때문에 붙은 것이다. | rttr.addAttribute - 전달한 값은 url뒤에 붙으며, 리프레시해도 데이터가 유지된다. | rttr.addFlashAttribute -전달한 값은 url뒤에 붙지 않는다. 일회성이라 리프레시할 경우 데이터가 소멸한다. 또한 2개이상 쓸 경우, 데이터는 소멸한다. 따라서 맵을 이용하여 한번에 값전달해야한다. 2020. 3. 8. [JPA]@Id와@GeneratedValue 기본키 전략 | JPA 기본 키 전략 1. 직접 할당 @id 애노테이션으로 필드와 매핑한다. 자바 기본형, 래퍼형, String, Date, BigDecimal, BigInteger가 타입이 가능하다 2. IDENTITY 기본 키 생성을 데이타베이스에 위임한다. 데이타베이스의 auto_increment와 같은 기능을 사용할 때 쓴다. 키 필드에 @GeneratedValue(strategy = GenerationType.IDENTITY)를 사용한다. 이 전략을 사용하면 JPA는 기본 키 값을 얻어오기 위해 데이타베이스를 추가로 조회한다. 따라서 이 전략을 사용하는 엔티티를 새로 생성하여 식별자 값을 할당하려면 1차 캐시를 넘어서 데이타베이스에서 Insert한 후에 기본 키 값을 조회한다. 즉, persist()를 호출.. 2020. 2. 11. [Spring-boot]스프링시큐리티+OAuth2 소셜로그인 (3) 구글(Google) 1. 구글 디펠로퍼 콘솔에 접속해서 새 프로젝트를 생성합니다. 2. 프로젝트를 생성할 때 정보를 작성합니다. 3. 왼쪽 사이드바의 사용자 인증 정보에서 사용자 인증 정보 만들기 > OAuth2 클라이언트 ID 를 클릭합니다. 4. OAuth 클라이언트 ID 만들기 창에서 동의 화면 구성을 클릭합니다. 5. OAuth 동의화면에서 애플리케이션 필요한 정보를 입력한 후 저장합니다. 6. 애플리케이션 유형 중 웹 애플리케이션을 선택한 다음 아래와 같이 입력한 후 저장합니다. *승인된 리디렉션 URI (URI는 URL이 아닙니다. URI가 상위개념이라고 생각하시면 됩니다.) ex)URI는 URL,URN의 상위 개념입니다. URI는 동물이라고 비유하면 URL(강아지), URN(다람쥐)라고 생각.. 2020. 2. 11. 이전 1 2 3 4 5 6 7 다음