ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] Maven project application.properties 설정
    Project/3. 예약: 메인페이지 - BE 2020. 3. 16. 16:10

    properties ?

    db 계정이나 Password와 같이 따로 관리하고 싶은 값들은 properties 파일을 통해 설정하고 그 값들을 가져와 사용할 수 있습니다. 

     

     

    properties 파일 생성 &  정의

    1. properties 파일 생성

     

    Spring framework에서 Maven project로 시작할 때는 기본적으로 application.properties 파일이 존재하지 않는 경우가 있습니다. 그래서 먼저 다음 경로에 application.properties 파일을 만들어줍니다.

     

    root - src - main - java
                           - resourses - application.properties
                           - webapp 

     

     

    2. properties 정의

     

    /src/main/resourses/application.properties

     

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/somedb?어쩌구
    spring.datasource.user=mememe
    spring.datasource.password

     

    다음과 같이 외부 설정에 필요한 값들을 변수=값 형태로 작성합니다.

     

     

     

    application.properties 값 사용하기

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    import javax.sql.DataSource;
     
    import org.apache.commons.dbcp2.BasicDataSource;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.jdbc.datasource.DataSourceTransactionManager;
    import org.springframework.transaction.PlatformTransactionManager;
    import org.springframework.transaction.annotation.EnableTransactionManagement;
    import org.springframework.transaction.annotation.TransactionManagementConfigurer;
     
    @Configuration
    @EnableTransactionManagement
    @PropertySource("classpath:application.properties")
    public class DBConfig implements TransactionManagementConfigurer {
        @Value("${spring.datasource.driver-class-name}")
        private String driverClassName;
        @Value("${spring.datasource.url}")
        private String url;
        @Value("${spring.datasource.username}")
        private String username;
        @Value("${spring.datasource.password}")
        private String password;
     
        @Bean
        public DataSource dataSource() {
            BasicDataSource dataSource = new BasicDataSource();
            dataSource.setDriverClassName(driverClassName);
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            dataSource.setPassword(password);
            return dataSource;
        }
     
    }
     
    cs

     

    1. @PropertySource 어노테이션으로 설정파일 지정

     

    @PropertySource("classpath:application.properties")

     

     

    2. @Value 어노테이션으로 설정값 접근하여 사용

     

    @Value("${변수명}")
    String var;

     

     

    댓글

Designed by Tistory.