본문 바로가기

반응형

Server Programming/Spring Boot Full-Stack Programming

(45)
[스프링 풀스택 클론 코딩] 의존성 주입 방법 스프링의 특징인 의존성 주입 방법 의존성 주입 : 클래스간의 의존관계를 스프링 컨테이너가 자동으로 연결해주는 것 1) Setter Injection : setter/getter 메서드의 setter 메서드를 통해 의존관계에 있는 객체를 주입 - 태그를 통해 의존관계에 있는 bean을 주입 - ref 속성 : Bean의 레퍼런스를 주입하고자 하는 경우 사용하는데, 스프링이 Bean id를 통해 Bean을 찾아 주입 - value 속성 : 관련 객체가 아닌 단순 값을 주입하고자 하는 경우 @Resource어노테이션은 변수와 세터 메서드를 빈 이름(name)으로 자동연결합니다. 그러나 여러 인수를 받는 메서드 등의 경우에는 @Resource를 사용할 수 없습니다. 2) Constructor injection ..
[스프링 풀스택 클론 코딩 - 회원가입] (1-3) 회원가입 컨트롤러 회원가입시 접근 제한과 테스트 작성 SecurityConfig //회원가입을 위한 시큐리티 수동 설정 @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig { // private final AccountService accountService; // private final DataSource dataSource; /** * Spring Security 5.7.x 부터 WebSecurityConfigurerAdapter 는 Deprecated. * -> SecurityFilterChain, WebSecurityCustomizer 를 상황에 따라 빈으로 등록해 사용한다. */ @Bean public Sec..
[스프링 풀스택 클론 코딩] JPA 즉시로딩과 지연로딩 사원을 검색할 때, 부서도 조회를 해야하는지 -> 사원 정보만 필요로 한다면, 연관관계가 존재한다고 해도 손해 1. 만약 대부분의 경우에 사원정보만 필요하다면 : JPA에서는 지연로딩을 이용. 프록시로 조회해 해결 @ManyToOne(fetch = FetchType.LAZY) -> 부서 정보가 필요한 시점에 조회가 이루어진다. 2. 하지만, 대부분의 경우 함께 필요하다면 @ManyToOne(fetch = FetchType.EAGER)
[스프링 풀스택 클론 코딩 - 회원가입] (1-2) 계정 도메인 Account //도메인 생성을 위한 어노테이션 @Entity // id만 이용해, equals확인 -> equals 메서드 오버라이딩 @Getter @Setter @EqualsAndHashCode(of = "id") //기본 생성자가 필요한 상태에서 @Builder사용하기 위해 @Builder @AllArgsConstructor @NoArgsConstructor public class Account { // 기본키와 생성 전략 @Id@GeneratedValue private Long id; //로그인 방식에서 이메일과 닉네임을 이용한 방식 지원하기 위해 @Column(unique =true) //중복 방지 private String email; @Column(unique =true) private St..
[스프링 풀스택 클론 코딩 - 회원가입] (1-1) 프로젝트 만들기 1. 프로젝트 생성 2. 빌드 -메이븐 라이브러리 - 스프링 시큐리티, 타임리프, 스프링 데이터 JPA, h2 DB, PostgreSQL, 스프링 부트 devtools, 스프링 mail, 롬복 3. pom.xml을 확인하면, 확인 할 수 있다. 4. 웹에서 localhost:8080 주소를 치고 들어가면, 스프링 시큐리티가 자동으로 설정해준, 사용자를 이용해 로그인할수있다. -id :user -pw : Using generated security password을 통해 확인 가능

반응형