Skip to content

Commit 01b4486

Browse files
authored
Update 81.3 Convert an existing application to Spring Boot.md
1 parent 1a1e447 commit 01b4486

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

IX. ‘How-to’ guides/81.3 Convert an existing application to Spring Boot.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
### 81.3 将现有的应用转换为Spring Boot
22

3-
对于一个非web项目,转换为Spring Boot应用很容易(抛弃创建ApplicationContext的代码,取而代之的是调用SpringApplication或SpringApplicationBuilder)。Spring MVC web应用通常先创建一个可部署的war应用,然后将它迁移为一个可执行的war或jar建议阅读[Getting Started Guide on Converting a jar to a war.](http://spring.io/guides/gs/convert-jar-to-war/)
3+
对于一个非web项目,转换为Spring Boot应用很容易(抛弃创建`ApplicationContext`的代码,取而代之的是调用`SpringApplication``SpringApplicationBuilder`)。Spring MVC web应用通常先创建一个可部署的war应用,然后将它迁移为一个可执行的war或jar建议阅读[Getting Started Guide on Converting a jar to a war.](http://spring.io/guides/gs/convert-jar-to-war/)
44

5-
通过继承SpringBootServletInitializer创建一个可执行war(比如,在一个名为Application的类中),然后添加Spring Boot的`@EnableAutoConfiguration`注解示例:
5+
通过继承`SpringBootServletInitializer`创建一个可执行war(比如,在一个名为`Application`的类中),然后添加Spring Boot的`@EnableAutoConfiguration`注解示例:
66
```java
77
@Configuration
88
@EnableAutoConfiguration
@@ -19,17 +19,17 @@ public class Application extends SpringBootServletInitializer {
1919

2020
}
2121
```
22-
记住不管你往sources放什么东西,它仅是一个Spring ApplicationContext,正常情况下,任何生效的在这里也会起作用。有一些beans你可以先移除,然后让Spring Boot提供它的默认实现,不过有可能需要先完成一些事情。
22+
记住不管你往`sources`放什么东西,它仅是一个Spring `ApplicationContext`,正常情况下,任何生效的在这里也会起作用。有一些beans你可以先移除,然后让Spring Boot提供它的默认实现,不过有可能需要先完成一些事情。
2323

2424
静态资源可以移到classpath根目录下的`/public`(或`/static``/resources``/META-INF/resources`)。同样的方式也适合于`messages.properties`(Spring Boot在classpath根目录下自动发现这些配置)。
2525

26-
美妙的(Vanilla usage of)Spring DispatcherServlet和Spring Security不需要改变。如果你的应用有其他特性,比如使用其他servlets或filters,那你可能需要添加一些配置到你的Application上下文中,按以下操作替换web.xml的那些元素
26+
美妙的(Vanilla usage of)Spring `DispatcherServlet`和Spring Security不需要改变。如果你的应用有其他特性,比如使用其他servlets或filters,那你可能需要添加一些配置到你的`Application`上下文中,按以下操作替换`web.xml`的那些元素
2727

28-
- 在容器中安装一个Servlet或ServletRegistrationBean类型的`@Bean`就好像web.xml中的`<servlet/>``<servlet-mapping/>`
29-
- 同样的添加一个Filter或FilterRegistrationBean类型的`@Bean`(类似于`<filter/>``<filter-mapping/>`)。
30-
- 在XML文件中的ApplicationContext可以通过`@Import`添加到你的Application中。简单的情况下,大量使用注解配置可以在几行内定义`@Bean`定义。
28+
- 在容器中安装一个`Servlet``ServletRegistrationBean`类型的`@Bean`就好像`web.xml`中的`<servlet/>``<servlet-mapping/>`
29+
- 同样的添加一个`Filter``FilterRegistrationBean`类型的`@Bean`(类似于`<filter/>``<filter-mapping/>`)。
30+
- 在XML文件中的`ApplicationContext`可以通过`@Import`添加到你的`Application`。简单的情况下,大量使用注解配置可以在几行内定义`@Bean`定义。
3131

32-
一旦war可以使用,我们就通过添加一个main方法到Application来让它可以执行,比如:
32+
一旦war可以使用,我们就通过添加一个main方法到`Application`来让它可以执行,比如:
3333
```java
3434
public static void main(String[] args) {
3535
SpringApplication.run(Application.class, args);
@@ -44,6 +44,6 @@ public static void main(String[] args) {
4444

4545
所有这些都可以进行适当的转化,但每个可能需要稍微不同的技巧。
4646

47-
Servlet 3.0+的应用转化的相当简单,如果它们已经使用Spring Servlet 3.0+初始化器辅助类。通常所有来自一个存在的WebApplicationInitializer的代码可以移到一个SpringBootServletInitializer中。如果一个存在的应用有多个ApplicationContext(比如,如果它使用AbstractDispatcherServletInitializer),那你可以将所有上下文源放进一个单一的SpringApplication。你遇到的主要难题可能是如果那样不能工作,那你就要维护上下文层次。参考示例[entry on building a hierarchy](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-build-an-application-context-hierarchy)。一个存在的包含web相关特性的父上下文通常需要分解,这样所有的ServletContextAware组件都处于子上下文中
47+
Servlet 3.0+的应用转化的相当简单,如果它们已经使用Spring Servlet 3.0+初始化器辅助类。通常所有来自一个存在的`WebApplicationInitializer`的代码可以移到一个`SpringBootServletInitializer`中。如果一个存在的应用有多个`ApplicationContext`(比如,如果它使用`AbstractDispatcherServletInitializer`),那你可以将所有上下文源放进一个单一的`SpringApplication`。你遇到的主要难题可能是如果那样不能工作,那你就要维护上下文层次。参考示例[entry on building a hierarchy](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-build-an-application-context-hierarchy)。一个存在的包含web相关特性的父上下文通常需要分解,这样所有的`ServletContextAware`组件都处于子上下文中
4848

4949
对于还不是Spring应用的应用来说,上面的指南有助于你把应用转换为一个Spring Boot应用,但你也可以选择其他方式。

0 commit comments

Comments
 (0)