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
bb890129
Commit
bb890129
authored
Oct 05, 2018
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.0.x'
parents
4108f4a4
febaf15b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
84 additions
and
5 deletions
+84
-5
SpringApplication.java
...main/java/org/springframework/boot/SpringApplication.java
+15
-5
SpringApplicationNoWebTests.java
...org/springframework/boot/SpringApplicationNoWebTests.java
+69
-0
No files found.
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringApplication.java
View file @
bb890129
...
@@ -46,7 +46,6 @@ import org.springframework.boot.context.properties.bind.Bindable;
...
@@ -46,7 +46,6 @@ import org.springframework.boot.context.properties.bind.Bindable;
import
org.springframework.boot.context.properties.bind.Binder
;
import
org.springframework.boot.context.properties.bind.Binder
;
import
org.springframework.boot.context.properties.source.ConfigurationPropertySources
;
import
org.springframework.boot.context.properties.source.ConfigurationPropertySources
;
import
org.springframework.boot.convert.ApplicationConversionService
;
import
org.springframework.boot.convert.ApplicationConversionService
;
import
org.springframework.boot.web.reactive.context.ReactiveWebApplicationContext
;
import
org.springframework.boot.web.reactive.context.StandardReactiveWebEnvironment
;
import
org.springframework.boot.web.reactive.context.StandardReactiveWebEnvironment
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextInitializer
;
import
org.springframework.context.ApplicationContextInitializer
;
...
@@ -79,7 +78,6 @@ import org.springframework.util.ObjectUtils;
...
@@ -79,7 +78,6 @@ import org.springframework.util.ObjectUtils;
import
org.springframework.util.ReflectionUtils
;
import
org.springframework.util.ReflectionUtils
;
import
org.springframework.util.StopWatch
;
import
org.springframework.util.StopWatch
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.context.WebApplicationContext
;
import
org.springframework.web.context.support.StandardServletEnvironment
;
import
org.springframework.web.context.support.StandardServletEnvironment
;
/**
/**
...
@@ -1201,16 +1199,28 @@ public class SpringApplication {
...
@@ -1201,16 +1199,28 @@ public class SpringApplication {
private
WebApplicationType
deduceWebApplicationType
(
private
WebApplicationType
deduceWebApplicationType
(
Class
<?>
applicationContextClass
)
{
Class
<?>
applicationContextClass
)
{
if
(
WebApplicationContext
.
class
.
isAssignableFrom
(
applicationContextClass
))
{
if
(
safeIsAssignableFrom
(
"org.springframework.web.context.WebApplicationContext"
,
applicationContextClass
))
{
return
WebApplicationType
.
SERVLET
;
return
WebApplicationType
.
SERVLET
;
}
}
if
(
ReactiveWebApplicationContext
.
class
if
(
safeIsAssignableFrom
(
.
isAssignableFrom
(
applicationContextClass
))
{
"org.springframework.boot.web.reactive.context.ReactiveWebApplicationContext"
,
applicationContextClass
))
{
return
WebApplicationType
.
REACTIVE
;
return
WebApplicationType
.
REACTIVE
;
}
}
return
WebApplicationType
.
NONE
;
return
WebApplicationType
.
NONE
;
}
}
private
boolean
safeIsAssignableFrom
(
String
target
,
Class
<?>
type
)
{
try
{
Class
<?>
targetClass
=
ClassUtils
.
forName
(
target
,
getClassLoader
());
return
targetClass
.
isAssignableFrom
(
type
);
}
catch
(
Throwable
ex
)
{
return
false
;
}
}
/**
/**
* Sets the {@link ApplicationContextInitializer} that will be applied to the Spring
* Sets the {@link ApplicationContextInitializer} that will be applied to the Spring
* {@link ApplicationContext}.
* {@link ApplicationContext}.
...
...
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationNoWebTests.java
0 → 100644
View file @
bb890129
/*
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
;
import
org.junit.After
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.testsupport.runner.classpath.ClassPathExclusions
;
import
org.springframework.boot.testsupport.runner.classpath.ModifiedClassPathRunner
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.support.StaticApplicationContext
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
* Tests for {@link SpringApplication} when spring web is not on the classpath.
*
* @author Stephane Nicoll
*/
@RunWith
(
ModifiedClassPathRunner
.
class
)
@ClassPathExclusions
(
"spring-web*.jar"
)
public
class
SpringApplicationNoWebTests
{
private
ConfigurableApplicationContext
context
;
@After
public
void
cleanUp
()
{
if
(
this
.
context
!=
null
)
{
this
.
context
.
close
();
}
}
@Test
public
void
detectWebApplicationTypeToNone
()
{
SpringApplication
application
=
new
SpringApplication
(
ExampleConfig
.
class
);
assertThat
(
application
.
getWebApplicationType
())
.
isEqualTo
(
WebApplicationType
.
NONE
);
}
@Test
public
void
specificApplicationContextClass
()
{
SpringApplication
application
=
new
SpringApplication
(
ExampleConfig
.
class
);
application
.
setApplicationContextClass
(
StaticApplicationContext
.
class
);
this
.
context
=
application
.
run
();
assertThat
(
this
.
context
).
isInstanceOf
(
StaticApplicationContext
.
class
);
}
@Configuration
static
class
ExampleConfig
{
}
}
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