Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
bd28de09
Commit
bd28de09
authored
Apr 11, 2017
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.5.x'
parents
158b3dae
eff35795
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
9 deletions
+43
-9
MetricFilterAutoConfiguration.java
.../actuate/autoconfigure/MetricFilterAutoConfiguration.java
+1
-1
ValidationAutoConfiguration.java
...autoconfigure/validation/ValidationAutoConfiguration.java
+11
-2
ValidationAutoConfigurationTests.java
...onfigure/validation/ValidationAutoConfigurationTests.java
+31
-6
No files found.
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfiguration.java
View file @
bd28de09
...
...
@@ -46,7 +46,7 @@ import org.springframework.web.servlet.HandlerMapping;
@ConditionalOnClass
({
Servlet
.
class
,
ServletRegistration
.
class
,
OncePerRequestFilter
.
class
,
HandlerMapping
.
class
})
@AutoConfigureAfter
(
MetricRepositoryAutoConfiguration
.
class
)
@ConditionalOnProperty
(
prefix
=
"endpoints.metrics.filter"
,
name
=
"enabled"
,
matchIfMissing
=
true
)
@ConditionalOnProperty
(
prefix
=
"endpoints.metrics.filter"
,
name
=
"enabled"
,
matchIfMissing
=
true
)
@EnableConfigurationProperties
({
MetricFilterProperties
.
class
})
public
class
MetricFilterAutoConfiguration
{
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java
View file @
bd28de09
...
...
@@ -24,10 +24,12 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnResource
;
import
org.springframework.boot.bind.RelaxedPropertyResolver
;
import
org.springframework.boot.validation.MessageInterpolatorFactory
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Role
;
import
org.springframework.core.env.Environment
;
import
org.springframework.validation.beanvalidation.LocalValidatorFactoryBean
;
import
org.springframework.validation.beanvalidation.MethodValidationPostProcessor
;
...
...
@@ -56,11 +58,18 @@ public class ValidationAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public
static
MethodValidationPostProcessor
methodValidationPostProcessor
(
Validator
validator
)
{
Environment
environment
,
Validator
validator
)
{
MethodValidationPostProcessor
processor
=
new
MethodValidationPostProcessor
();
processor
.
setProxyTargetClass
(
true
);
processor
.
setProxyTargetClass
(
determineProxyTargetClass
(
environment
)
);
processor
.
setValidator
(
validator
);
return
processor
;
}
private
static
boolean
determineProxyTargetClass
(
Environment
environment
)
{
RelaxedPropertyResolver
resolver
=
new
RelaxedPropertyResolver
(
environment
,
"spring.aop."
);
Boolean
value
=
resolver
.
getProperty
(
"proxyTargetClass"
,
Boolean
.
class
);
return
(
value
!=
null
?
value
:
true
);
}
}
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfigurationTests.java
View file @
bd28de09
...
...
@@ -27,6 +27,7 @@ import org.junit.Test;
import
org.junit.rules.ExpectedException
;
import
org.springframework.beans.DirectFieldAccessor
;
import
org.springframework.boot.test.util.EnvironmentTestUtils
;
import
org.springframework.context.annotation.AnnotationConfigApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -75,6 +76,19 @@ public class ValidationAutoConfigurationTests {
service
.
doSomething
(
2
);
}
@Test
public
void
validationCanBeConfiguredToUseJdkProxy
()
{
load
(
AnotherSampleServiceConfiguration
.
class
,
"spring.aop.proxy-target-class=false"
);
assertThat
(
this
.
context
.
getBeansOfType
(
Validator
.
class
)).
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
DefaultAnotherSampleService
.
class
))
.
isEmpty
();
AnotherSampleService
service
=
this
.
context
.
getBean
(
AnotherSampleService
.
class
);
service
.
doSomething
(
42
);
this
.
thrown
.
expect
(
ConstraintViolationException
.
class
);
service
.
doSomething
(
2
);
}
@Test
public
void
userDefinedMethodValidationPostProcessorTakesPrecedence
()
{
load
(
SampleConfiguration
.
class
);
...
...
@@ -90,14 +104,15 @@ public class ValidationAutoConfigurationTests {
.
getPropertyValue
(
"validator"
));
}
public
void
load
(
Class
<?>
config
)
{
AnnotationConfigApplicationContext
applicationContext
=
new
AnnotationConfigApplicationContext
();
public
void
load
(
Class
<?>
config
,
String
...
environment
)
{
AnnotationConfigApplicationContext
ctx
=
new
AnnotationConfigApplicationContext
();
EnvironmentTestUtils
.
addEnvironment
(
ctx
,
environment
);
if
(
config
!=
null
)
{
applicationContext
.
register
(
config
);
ctx
.
register
(
config
);
}
applicationContext
.
register
(
ValidationAutoConfiguration
.
class
);
applicationContext
.
refresh
();
this
.
context
=
applicationContext
;
ctx
.
register
(
ValidationAutoConfiguration
.
class
);
ctx
.
refresh
();
this
.
context
=
ctx
;
}
@Validated
...
...
@@ -123,6 +138,16 @@ public class ValidationAutoConfigurationTests {
}
}
@Configuration
static
class
AnotherSampleServiceConfiguration
{
@Bean
public
AnotherSampleService
anotherSampleService
()
{
return
new
DefaultAnotherSampleService
();
}
}
@Configuration
static
class
SampleConfiguration
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment