Skip to content

Commit d5c50f3

Browse files
committed
work in progress
1 parent 25f3608 commit d5c50f3

File tree

6 files changed

+67
-78
lines changed

6 files changed

+67
-78
lines changed

src/main/java/org/woehlke/simpleworklist/SimpleworklistApplication.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
55
import org.springframework.boot.autoconfigure.SpringBootApplication;
66
import org.springframework.boot.context.properties.EnableConfigurationProperties;
7-
import org.woehlke.simpleworklist.config.di.ApplicationConfig;
87
import org.woehlke.simpleworklist.config.ApplicationProperties;
98
import org.woehlke.simpleworklist.config.di.WebMvcConfig;
109
import org.woehlke.simpleworklist.config.di.WebSecurityConfig;
1110

1211

1312
@ImportAutoConfiguration({
14-
ApplicationConfig.class,
1513
WebMvcConfig.class,
1614
WebSecurityConfig.class
1715
})

src/main/java/org/woehlke/simpleworklist/config/ApplicationProperties.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ public static class WebMvc {
8484

8585
@NotNull
8686
private Integer controllerPageSize;
87+
88+
@NotNull
89+
private String[] staticResourceHandler;
90+
91+
@NotNull
92+
private String[] dynaicResourceHandler;
8793
}
8894

8995
@Getter

src/main/java/org/woehlke/simpleworklist/config/di/ApplicationConfig.java

Lines changed: 0 additions & 62 deletions
This file was deleted.

src/main/java/org/woehlke/simpleworklist/config/di/WebMvcConfig.java

Lines changed: 55 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package org.woehlke.simpleworklist.config.di;
22

3+
import org.springframework.beans.factory.annotation.Autowired;
34
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
45
import org.springframework.boot.context.properties.EnableConfigurationProperties;
56
import org.springframework.context.MessageSource;
67
import org.springframework.context.annotation.Bean;
78
import org.springframework.context.annotation.Configuration;
89
import org.springframework.context.support.ResourceBundleMessageSource;
910
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
11+
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
1012
import org.springframework.data.web.config.EnableSpringDataWebSupport;
13+
import org.springframework.mail.javamail.JavaMailSender;
14+
import org.springframework.mail.javamail.JavaMailSenderImpl;
1115
import org.springframework.scheduling.annotation.EnableAsync;
1216
import org.springframework.session.jdbc.config.annotation.web.http.EnableJdbcHttpSession;
1317
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
@@ -19,6 +23,7 @@
1923
import org.woehlke.simpleworklist.config.ApplicationProperties;
2024

2125
import java.util.Locale;
26+
import java.util.Properties;
2227

2328

2429
@Configuration
@@ -27,14 +32,49 @@
2732
@EnableWebMvc
2833
@EnableSpringDataWebSupport
2934
@EnableJdbcHttpSession
30-
@ImportAutoConfiguration({
31-
ApplicationConfig.class
35+
@EnableJpaRepositories({
36+
"org.woehlke.simpleworklist"
3237
})
3338
@EnableConfigurationProperties({
3439
ApplicationProperties.class
3540
})
3641
public class WebMvcConfig extends WebMvcConfigurerAdapter implements WebMvcConfigurer {
3742

43+
private final ApplicationProperties applicationProperties;
44+
45+
@Autowired
46+
public WebMvcConfig(ApplicationProperties applicationProperties) {
47+
this.applicationProperties = applicationProperties;
48+
}
49+
50+
@Bean
51+
public JavaMailSender mailSender(){
52+
Properties javaMailProperties = new Properties();
53+
javaMailProperties.setProperty(
54+
"mail.smtp.auth",
55+
applicationProperties.getMail().getAuth().toString()
56+
);
57+
javaMailProperties.setProperty(
58+
"mail.smtp.ssl.enable",
59+
applicationProperties.getMail().getSslEnable().toString()
60+
);
61+
javaMailProperties.setProperty(
62+
"mail.smtp.socketFactory.port",
63+
applicationProperties.getMail().getSocketFactoryPort()
64+
);
65+
javaMailProperties.setProperty(
66+
"mail.smtp.socketFactory.class",
67+
applicationProperties.getMail().getSocketFactoryClass()
68+
);
69+
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
70+
mailSender.setJavaMailProperties(javaMailProperties);
71+
mailSender.setHost(applicationProperties.getMail().getHost());
72+
mailSender.setPort(applicationProperties.getMail().getPort());
73+
mailSender.setUsername(applicationProperties.getMail().getUsername());
74+
mailSender.setPassword(applicationProperties.getMail().getPassword());
75+
return mailSender;
76+
}
77+
3878
@Bean
3979
public LocaleResolver localeResolver() {
4080
SessionLocaleResolver slr = new SessionLocaleResolver();
@@ -51,9 +91,9 @@ public LocaleChangeInterceptor localeChangeInterceptor() {
5191

5292
@Bean
5393
public MessageSource messageSource(){
54-
ResourceBundleMessageSource x = new ResourceBundleMessageSource();
55-
x.setBasename("messages");
56-
return x;
94+
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
95+
messageSource.setBasename("messages");
96+
return messageSource;
5797
}
5898

5999
@Bean
@@ -76,13 +116,15 @@ public void addViewControllers(ViewControllerRegistry registry) {
76116
}
77117

78118
public void addResourceHandlers(ResourceHandlerRegistry registry) {
79-
registry.addResourceHandler("/css/*").addResourceLocations("classpath:/static/css/");
80-
registry.addResourceHandler("/css/**").addResourceLocations("classpath:/static/css/");
81-
registry.addResourceHandler("/img/*").addResourceLocations("classpath:/static/img/");
82-
registry.addResourceHandler("/img/**").addResourceLocations("classpath:/static/img/");
83-
registry.addResourceHandler("/js/*").addResourceLocations("classpath:/static/js/");
84-
registry.addResourceHandler("/js/**").addResourceLocations("classpath:/static/js/");
85-
registry.addResourceHandler("/webjars/*").addResourceLocations("/webjars/");
86-
registry.addResourceHandler("/webjars/**").addResourceLocations("/webjars/");
119+
for(String h :applicationProperties.getWebMvc().getStaticResourceHandler()){
120+
String location = "classpath:/static"+h+"/";
121+
registry.addResourceHandler(h+"/*").addResourceLocations(location);
122+
registry.addResourceHandler(h+"/**").addResourceLocations(location);
123+
}
124+
for(String h :applicationProperties.getWebMvc().getDynaicResourceHandler()){
125+
String location = h+"/";
126+
registry.addResourceHandler(h+"/*").addResourceLocations(location);
127+
registry.addResourceHandler(h+"/**").addResourceLocations(location);
128+
}
87129
}
88130
}

src/main/java/org/woehlke/simpleworklist/config/di/WebSecurityConfig.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
@EnableJdbcHttpSession
3434
@EnableWebSecurity
3535
@ImportAutoConfiguration({
36-
ApplicationConfig.class,
3736
WebMvcConfig.class
3837
})
3938
@EnableConfigurationProperties({

src/main/resources/application.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ org:
5454
mailFrom: ${MAIL_FROM}
5555
webMvc:
5656
controllerPageSize: 10
57+
staticResourceHandler:
58+
- "/css"
59+
- "/img"
60+
- "/js"
61+
dynaicResourceHandler:
62+
- "/webjars"
5763
webSecurity:
5864
loginProcessingUrl: "/j_spring_security_check"
5965
logoutUrl: "/logout"

0 commit comments

Comments
 (0)