Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,21 @@

import cholog.configuration.AuthService;
import cholog.configuration.AuthenticationPrincipalArgumentResolver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

// TODO: Java-based Configuration을 하기 위한 클래스로 지정하기
@Configuration
public class AppConfig {

// TODO: AuthService 빈을 등록하기
@Bean
public AuthService authService() {
return null;
}

// TODO: AuthenticationPrincipalArgumentResolver를 빈 등록하고 authService에 대한 의존성을 주입하기
@Bean
public AuthenticationPrincipalArgumentResolver authenticationPrincipalArgumentResolver() {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,24 @@
import cholog.profile.InmemoryMessageRepository;
import cholog.profile.JdbcMessageRepository;
import cholog.profile.MessageRepository;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

// TODO: Java-based Configuration을 하기 위한 클래스로 지정하기
@Configuration
public class ProfileConfig {

// TODO: dev 프로파일일 때만 InmemoryMessageRepository 빈이 등록되도록 설정하기
@Bean("dataSource")
@Profile("dev")
public MessageRepository inMemoryMessageRepository() {
return new InmemoryMessageRepository();
}

// TODO: prod 프로파일일 때만 InmemoryMessageRepository 빈이 등록되도록 설정하기
@Bean("dataSource")
@Profile("prod")
public MessageRepository jdbcMessageRepository() {
return new JdbcMessageRepository();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
package cholog.property.config;

import cholog.property.JwtTokenKeyProvider;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

// TODO: Java-based Configuration을 하기 위한 클래스로 지정하기
@Configuration
public class AuthConfig {
// TODO: application.properties의 security.jwt.token.secret-key 값을 활용하여 JwtTokenKeyProvider를 빈으로 등록하기
public JwtTokenKeyProvider jwtTokenKeyProvider() {
return new JwtTokenKeyProvider("");
@Bean
public JwtTokenKeyProvider jwtTokenKeyProvider(@Value("${security.jwt.token.secret-key}") String secretKey) {
return new JwtTokenKeyProvider(secretKey);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@

import cholog.property.GoogleDriveRestClient;
import cholog.property.GoogleMapsRestClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;

// TODO: Java-based Configuration을 하기 위한 클래스로 지정하기
// TODO: ext-api.properties 파일을 활용하기 위한 설정 추가하기
@Configuration
@PropertySource("classpath:ext-api.properties")
public class PropertySourceConfig {

private final Environment env;
Expand All @@ -16,8 +21,9 @@ public PropertySourceConfig(Environment env) {

// TODO: ext-api.properties의 google.api.endpoint 값을 Environment를 사용해서 가져오기
// TODO: 위 endpoint 값을 사용하여 GoogleMapsRestClient를 빈으로 등록하기
@Bean
public GoogleMapsRestClient googleMapsRestClient() {
return new GoogleMapsRestClient("");
return new GoogleMapsRestClient(env.getProperty("google.api.endpoint"));
}

// TODO: ext-api.properties의 google.api.endpoint 값을 어노테이션을 사용해서 가져오기
Expand Down
9 changes: 8 additions & 1 deletion spring-data-jpa-1/initial/src/main/java/cholog/Customer.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
package cholog;

public class Customer {
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String firstName;
private String lastName;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
package cholog;

public interface CustomerRepository {
import org.springframework.data.repository.CrudRepository;

import java.util.List;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

별 건 아니지만 저는 @repository annotation을 추가해서 명시적으로 표시했었습니다!

public interface CustomerRepository extends CrudRepository<Customer, Long> {
List<Customer> findByLastName(String lastName);
List<Customer> findByLastNameIgnoreCase(String lastName);
List<Customer> findByLastNameOrderByFirstNameDesc(String lastName);
}