Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 54ffba04

Přidáno uživatelem Ondřej Váně před asi 4 roky(ů)

Read application properties from properties file

Zobrazit rozdíly:

src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/ApplicationProperties.java
1
package cz.zcu.fav.kiv.antipatterndetectionapp;
2

  
3
import org.springframework.beans.factory.annotation.Autowired;
4
import org.springframework.core.env.Environment;
5
import org.springframework.stereotype.Component;
6

  
7
@Component
8
public class ApplicationProperties {
9

  
10
    @Autowired
11
    private Environment environment;
12

  
13
    public String getDataSourceUrl () {
14
        return environment.getProperty("spring.datasource.url");
15
    }
16

  
17
    public String getDataSourceUsername() {
18
        return environment.getProperty("spring.datasource.username");
19
    }
20

  
21
    public String getDataSourcePassword() {
22
        return environment.getProperty("spring.datasource.password");
23
    }
24
}
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/SpringApplicationContext.java
1
package cz.zcu.fav.kiv.antipatterndetectionapp;
2

  
3
import org.springframework.beans.BeansException;
4
import org.springframework.context.ApplicationContext;
5
import org.springframework.context.ApplicationContextAware;
6
import org.springframework.context.annotation.Configuration;
7

  
8
@Configuration
9
public class SpringApplicationContext implements ApplicationContextAware {
10

  
11
    static ApplicationContext applicationContext = null;
12

  
13
    public void setApplicationContext(ApplicationContext context)    throws BeansException {
14
        applicationContext = context;
15
    }
16

  
17
    /**
18
     * Note that this is a static method which expose ApplicationContext
19
     **/
20
    public static ApplicationContext getContext(){
21
        return applicationContext;
22
    }
23
}
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/controller/AppController.java
8 8
import cz.zcu.fav.kiv.antipatterndetectionapp.model.Query;
9 9
import cz.zcu.fav.kiv.antipatterndetectionapp.repository.ProjectRepository;
10 10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.core.env.Environment;
11 12
import org.springframework.stereotype.Controller;
12 13
import org.springframework.ui.Model;
13 14
import org.springframework.web.bind.annotation.*;
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/detecting/DatabaseConnection.java
1 1
package cz.zcu.fav.kiv.antipatterndetectionapp.detecting;
2 2

  
3
import cz.zcu.fav.kiv.antipatterndetectionapp.ApplicationProperties;
4
import cz.zcu.fav.kiv.antipatterndetectionapp.SpringApplicationContext;
5

  
3 6
import java.sql.Connection;
4 7
import java.sql.DriverManager;
5 8
import java.sql.SQLException;
6 9

  
7 10
public class DatabaseConnection {
8 11

  
9
    private static final String connectionUrl = "jdbc:mysql://localhost:3306/ppicha";
10
    private static final String user = "root";
11
    private static final String password = "";
12

  
13 12
    private Connection databaseConnection;
14 13

  
15 14
    public DatabaseConnection() {
16
        this.databaseConnection = createConnection();
15
        ApplicationProperties applicationProperties = ((ApplicationProperties) SpringApplicationContext.getContext()
16
                .getBean("applicationProperties"));
17
        String connectionUrl = applicationProperties.getDataSourceUrl();
18
        String dataSourceUsername = applicationProperties.getDataSourceUsername();
19
        String dataSourcePassword = applicationProperties.getDataSourcePassword();
20
        this.databaseConnection = createConnection(connectionUrl, dataSourceUsername, dataSourcePassword);
17 21
    }
18 22

  
19
    private Connection createConnection() {
23
    private Connection createConnection(String connectionUrl, String dataSourceUsername, String dataSourcePassword) {
20 24
        Connection conn = null;
21 25
        try {
22
             conn = DriverManager.getConnection(connectionUrl, user, password);
26
            conn = DriverManager.getConnection(connectionUrl, dataSourceUsername, dataSourcePassword);
23 27

  
24 28
        } catch (SQLException e) {
25 29
            e.printStackTrace();

Také k dispozici: Unified diff