Skip to content

Commit

Permalink
프로파일 적용
Browse files Browse the repository at this point in the history
  • Loading branch information
jdalma committed Nov 10, 2022
1 parent dd86bad commit 1dcadf9
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 8 deletions.
9 changes: 3 additions & 6 deletions src/main/java/springbook/chapter07/AppContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
import org.springframework.mail.MailSender;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.oxm.Unmarshaller;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import org.springframework.transaction.PlatformTransactionManager;
Expand All @@ -27,7 +29,7 @@
@Configuration
@EnableTransactionManagement
@ComponentScan(basePackages = "springbook.chapter07")
@Import(SqlServiceContext.class)
@Import({SqlServiceContext.class, TestAppContext.class, ProductionAppContext.class})
public class AppContext {

private final String URL = "jdbc:mysql://localhost/springbook?characterEncoding=UTF-8";
Expand All @@ -39,11 +41,6 @@ public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}

@Bean
public MailSender mailSenderImpl() {
return new DummyMailSender();
}

@Bean
public DataSource dataSource(){
SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
Expand Down
18 changes: 18 additions & 0 deletions src/main/java/springbook/chapter07/ProductionAppContext.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package springbook.chapter07;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.mail.MailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;

@Configuration
@Profile("production")
public class ProductionAppContext {
@Bean
public MailSender mailSenderImpl() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("mail.test.com");
return mailSender;
}
}
2 changes: 2 additions & 0 deletions src/main/java/springbook/chapter07/TestAppContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.mail.MailSender;
import springbook.chapter06.DummyMailSender;

@Configuration
@Profile("test")
public class TestAppContext {

@Autowired
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/springbook/chapter07/UserDaoTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator;
import org.springframework.jdbc.support.SQLExceptionTranslator;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

import javax.sql.DataSource;
Expand All @@ -16,7 +17,8 @@
import static org.assertj.core.api.Assertions.assertThatThrownBy;


@SpringJUnitConfig(classes = {AppContext.class , TestAppContext.class})
@SpringJUnitConfig(classes = AppContext.class)
@ActiveProfiles("test")
public class UserDaoTest {

@Autowired
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/springbook/chapter07/UserServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.springframework.dao.TransientDataAccessResourceException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import org.springframework.transaction.annotation.Transactional;

Expand All @@ -25,7 +26,8 @@
import static springbook.chapter07.UserServiceImpl.MIN_LOGIN_COUNT_FOR_SILVER;
import static springbook.chapter07.UserServiceImpl.MIN_RECOMMEND_FOR_GOLD;

@SpringJUnitConfig(classes = {AppContext.class, TestAppContext.class})
@SpringJUnitConfig(classes = AppContext.class)
@ActiveProfiles("test")
class UserServiceTest {

@Autowired
Expand Down

0 comments on commit 1dcadf9

Please sign in to comment.