Skip to content

Commit 8da7086

Browse files
committed
Improved db initialization
1 parent 8b4020c commit 8da7086

File tree

3 files changed

+16
-50
lines changed

3 files changed

+16
-50
lines changed

session-handling-spring-security/src/main/java/de/dominikschadow/javasecurity/sessionhandling/spring/SecurityConfig.java

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,11 @@
1717
*/
1818
package de.dominikschadow.javasecurity.sessionhandling.spring;
1919

20-
import org.apache.commons.dbcp.BasicDataSource;
2120
import org.springframework.beans.factory.annotation.Autowired;
22-
import org.springframework.beans.factory.annotation.Value;
2321
import org.springframework.context.annotation.Bean;
2422
import org.springframework.context.annotation.ComponentScan;
2523
import org.springframework.context.annotation.Configuration;
26-
import org.springframework.core.io.Resource;
27-
import org.springframework.jdbc.datasource.init.DataSourceInitializer;
28-
import org.springframework.jdbc.datasource.init.DatabasePopulator;
29-
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
24+
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
3025
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
3126
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
3227
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@@ -37,6 +32,8 @@
3732

3833
import javax.sql.DataSource;
3934

35+
import static org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType.H2;
36+
4037
/**
4138
* Spring Security configuration for the session handling sample project.
4239
*
@@ -47,9 +44,6 @@
4744
@EnableGlobalMethodSecurity(prePostEnabled = true)
4845
@ComponentScan("de.dominikschadow.javasecurity.sessionhandling.greetings")
4946
public class SecurityConfig extends WebSecurityConfigurerAdapter {
50-
@Value("classpath:database.sql")
51-
private Resource dataScript;
52-
5347
@Autowired
5448
public void configAuthentication(AuthenticationManagerBuilder auth, DataSource dataSource) throws Exception {
5549
auth.jdbcAuthentication().dataSource(dataSource)
@@ -88,22 +82,6 @@ public PasswordEncoder passwordEncoder() {
8882

8983
@Bean
9084
public DataSource dataSource() {
91-
BasicDataSource dataSource = new BasicDataSource();
92-
dataSource.setUrl("jdbc:h2:mem:sessionHandlingSpringSecurity");
93-
dataSource.setUsername("hashing");
94-
dataSource.setPassword("hashing");
95-
return dataSource;
96-
}
97-
98-
@Bean
99-
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource) {
100-
final DataSourceInitializer initializer = new DataSourceInitializer();
101-
initializer.setDataSource(dataSource);
102-
initializer.setDatabasePopulator(databasePopulator());
103-
return initializer;
104-
}
105-
106-
private DatabasePopulator databasePopulator() {
107-
return new ResourceDatabasePopulator(dataScript);
85+
return new EmbeddedDatabaseBuilder().setType(H2).addScript("schema.sql").addScripts("data.sql").build();
10886
}
10987
}

session-handling-spring-security/src/main/resources/database.sql

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE TABLE users (
2+
username VARCHAR(45) NOT NULL,
3+
password VARCHAR(60) NOT NULL,
4+
active TINYINT NOT NULL,
5+
PRIMARY KEY (username));
6+
7+
CREATE TABLE roles (
8+
role_id INTEGER NOT NULL AUTO_INCREMENT,
9+
username VARCHAR(45) NOT NULL,
10+
role VARCHAR(45) NOT NULL,
11+
PRIMARY KEY (role_id),
12+
CONSTRAINT fk_username FOREIGN KEY (username) REFERENCES users (username));

0 commit comments

Comments
 (0)