70
阿里云
技术社区[云栖]
《Spring Boot官方指南》翻译邀请
学技术并发网始终建议同学们阅读原版官方文档,所以并发网每月都会组织大家翻译各种官方技术文档。9月份并发网组织大家翻译《Spring Boot官方指南》,欢迎有兴趣的同学参与。
如何领取
通过评论领取想要翻译的文章,每次领取一章,如Spring Boot Documentation,翻译完后再领取其他章节。领取完成之后,建议在一个星期内翻译完成,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译。
如何提交?
翻译完成之后请登录到并发网提交成待审核状态,会有专门的编辑校对后进行发布。校对完之后被评为A级会升级您为译者,并加入译者沟通群。如果在本站翻译超过十篇文章,将有礼品赠送,比如签名版的《Java并发编程的艺术》或者其他图书。
Table of Contents
- I. Spring Boot Documentation
- 1. About the documentation
- 2. Getting help
- 3. First steps
- 4. Working with Spring Boot
- 5. Learning about Spring Boot features
- 6. Moving to production
- 7. Advanced topics
- II. Getting started
- 8. Introducing Spring Boot
- 9. System Requirements
- 9.1. Servlet containers
- 10. Installing Spring Boot
- 10.1. Installation instructions for the Java developer
- 10.1.1. Maven installation
- 10.1.2. Gradle installation
- 10.2. Installing the Spring Boot CLI
- 10.2.1. Manual installation
- 10.2.2. Installation with SDKMAN!
- 10.2.3. OSX Homebrew installation
- 10.2.4. MacPorts installation
- 10.2.5. Command-line completion
- 10.2.6. Quick start Spring CLI example
- 10.3. Upgrading from an earlier version of Spring Boot
- 11. Developing your first Spring Boot application
- 11.1. Creating the POM
- 11.2. Adding classpath dependencies
- 11.3. Writing the code
- 11.3.1. The @RestController and @RequestMapping annotations
- 11.3.2. The @EnableAutoConfiguration annotation
- 11.3.3. The “main” method
- 11.4. Running the example
- 11.5. Creating an executable jar
- 12. What to read next
- III. Using Spring Boot
- 13. Build systems
- 13.1. Dependency management
- 13.2. Maven
- 13.2.1. Inheriting the starter parent
- 13.2.2. Using Spring Boot without the parent POM
- 13.2.3. Changing the Java version
- 13.2.4. Using the Spring Boot Maven plugin
- 13.3. Gradle
- 13.4. Ant
- 13.5. Starters
- 14. Structuring your code
- 14.1. Using the “default” package
- 14.2. Locating the main application class
- 15. Configuration classes
- 15.1. Importing additional configuration classes
- 15.2. Importing XML configuration
- 16. Auto-configuration
- 16.1. Gradually replacing auto-configuration
- 16.2. Disabling specific auto-configuration
- 17. Spring Beans and dependency injection
- 18. Using the @SpringBootApplication annotation
- 19. Running your application
- 19.1. Running from an IDE
- 19.2. Running as a packaged application
- 19.3. Using the Maven plugin
- 19.4. Using the Gradle plugin
- 19.5. Hot swapping
- 20. Developer tools
- 20.1. Property defaults
- 20.2. Automatic restart
- 20.2.1. Excluding resources
- 20.2.2. Watching additional paths
- 20.2.3. Disabling restart
- 20.2.4. Using a trigger file
- 20.2.5. Customizing the restart classloader
- 20.2.6. Known limitations
- 20.3. LiveReload
- 20.4. Global settings
- 20.5. Remote applications
- 20.5.1. Running the remote client application
- 20.5.2. Remote update
- 20.5.3. Remote debug tunnel
- 21. Packaging your application for production
- 22. What to read next
- IV. Spring Boot features
- 23. SpringApplication
- 23.1. Customizing the Banner
- 23.2. Customizing SpringApplication
- 23.3. Fluent builder API
- 23.4. Application events and listeners
- 23.5. Web environment
- 23.6. Accessing application arguments
- 23.7. Using the ApplicationRunner or CommandLineRunner
- 23.8. Application exit
- 23.9. Admin features
- 24. Externalized Configuration
- 24.1. Configuring random values
- 24.2. Accessing command line properties
- 24.3. Application property files
- 24.4. Profile-specific properties
- 24.5. Placeholders in properties
- 24.6. Using YAML instead of Properties
- 24.6.1. Loading YAML
- 24.6.2. Exposing YAML as properties in the Spring Environment
- 24.6.3. Multi-profile YAML documents
- 24.6.4. YAML shortcomings
- 24.6.5. Merging YAML lists
- 24.7. Type-safe Configuration Properties
- 24.7.1. Third-party configuration
- 24.7.2. Relaxed binding
- 24.7.3. Properties conversion
- 24.7.4. @ConfigurationProperties Validation
- 24.7.5. @ConfigurationProperties vs. @Value
- 25. Profiles
- 25.1. Adding active profiles
- 25.2. Programmatically setting profiles
- 25.3. Profile-specific configuration files
- 26. Logging
- 26.1. Log format
- 26.2. Console output
- 26.2.1. Color-coded output
- 26.3. File output
- 26.4. Log Levels
- 26.5. Custom log configuration
- 26.6. Logback extensions
- 26.6.1. Profile-specific configuration
- 26.6.2. Environment properties
- 27. Developing web applications
- 27.1. The ‘Spring Web MVC framework’
- 27.1.1. Spring MVC auto-configuration
- 27.1.2. HttpMessageConverters
- 27.1.3. Custom JSON Serializers and Deserializers
- 27.1.4. MessageCodesResolver
- 27.1.5. Static Content
- 27.1.6. ConfigurableWebBindingInitializer
- 27.1.7. Template engines
- 27.1.8. Error Handling
- Custom error pages
- Mapping error pages outside of Spring MVC
- Error Handling on WebSphere Application Server
- 27.1.9. Spring HATEOAS
- 27.1.10. CORS support
- 27.2. JAX-RS and Jersey
- 27.3. Embedded servlet container support
- 27.3.1. Servlets, Filters, and listeners
- Registering Servlets, Filters, and listeners as Spring beans
- 27.3.2. Servlet Context Initialization
- Scanning for Servlets, Filters, and listeners
- 27.3.3. The EmbeddedWebApplicationContext
- 27.3.4. Customizing embedded servlet containers
- Programmatic customization
- Customizing ConfigurableEmbeddedServletContainer directly
- 27.3.5. JSP limitations
- 28. Security
- 28.1. OAuth2
- 28.1.1. Authorization Server
- 28.1.2. Resource Server
- 28.2. Token Type in User Info
- 28.3. Customizing the User Info RestTemplate
- 28.3.1. Client
- 28.3.2. Single Sign On
- 28.4. Actuator Security
- 29. Working with SQL databases
- 29.1. Configure a DataSource
- 29.1.1. Embedded Database Support
- 29.1.2. Connection to a production database
- 29.1.3. Connection to a JNDI DataSource
- 29.2. Using JdbcTemplate
- 29.3. JPA and ‘Spring Data’
- 29.3.1. Entity Classes
- 29.3.2. Spring Data JPA Repositories
- 29.3.3. Creating and dropping JPA databases
- 29.4. Using H2’s web console
- 29.4.1. Changing the H2 console’s path
- 29.4.2. Securing the H2 console
- 29.5. Using jOOQ
- 29.5.1. Code Generation
- 29.5.2. Using DSLContext
- 29.5.3. Customizing jOOQ
- 30. Working with NoSQL technologies
- 30.1. Redis
- 30.1.1. Connecting to Redis
- 30.2. MongoDB
- 30.2.1. Connecting to a MongoDB database
- 30.2.2. MongoTemplate
- 30.2.3. Spring Data MongoDB repositories
- 30.2.4. Embedded Mongo
- 30.3. Neo4j
- 30.3.1. Connecting to a Neo4j database
- 30.3.2. Using the embedded mode
- 30.3.3. Neo4jSession
- 30.3.4. Spring Data Neo4j repositories
- 30.3.5. Repository example
- 30.4. Gemfire
- 30.5. Solr
- 30.5.1. Connecting to Solr
- 30.5.2. Spring Data Solr repositories
- 30.6. Elasticsearch
- 30.6.1. Connecting to Elasticsearch using Jest
- 30.6.2. Connecting to Elasticsearch using Spring Data
- 30.6.3. Spring Data Elasticsearch repositories
- 30.7. Cassandra
- 30.7.1. Connecting to Cassandra
- 30.7.2. Spring Data Cassandra repositories
- 30.8. Couchbase
- 30.8.1. Connecting to Couchbase
- 30.8.2. Spring Data Couchbase repositories
- 31. Caching
- 31.1. Supported cache providers
- 31.1.1. Generic
- 31.1.2. JCache
- 31.1.3. EhCache 2.x
- 31.1.4. Hazelcast
- 31.1.5. Infinispan
- 31.1.6. Couchbase
- 31.1.7. Redis
- 31.1.8. Caffeine
- 31.1.9. Guava
- 31.1.10. Simple
- 31.1.11. None
- 32. Messaging
- 32.1. JMS
- 32.1.1. ActiveMQ support
- 32.1.2. Artemis support
- 32.1.3. HornetQ support
- 32.1.4. Using a JNDI ConnectionFactory
- 32.1.5. Sending a message
- 32.1.6. Receiving a message
- 32.2. AMQP
- 32.2.1. RabbitMQ support
- 32.2.2. Sending a message
- 32.2.3. Receiving a message
- 33. Calling REST services
- 33.1. RestTemplate customization
- 34. Sending email
- 35. Distributed Transactions with JTA
- 35.1. Using an Atomikos transaction manager
- 35.2. Using a Bitronix transaction manager
- 35.3. Using a Narayana transaction manager
- 35.4. Using a Java EE managed transaction manager
- 35.5. Mixing XA and non-XA JMS connections
- 35.6. Supporting an alternative embedded transaction manager
- 36. Hazelcast
- 37. Spring Integration
- 38. Spring Session
- 39. Monitoring and management over JMX
- 40. Testing
- 40.1. Test scope dependencies
- 40.2. Testing Spring applications
- 40.3. Testing Spring Boot applications
- 40.3.1. Detecting test configuration
- 40.3.2. Excluding test configuration
- 40.3.3. Working with random ports
- 40.3.4. Mocking and spying beans
- 40.3.5. Auto-configured tests
- 40.3.6. Auto-configured JSON tests
- 40.3.7. Auto-configured Spring MVC tests
- 40.3.8. Auto-configured Data JPA tests
- 40.3.9. Auto-configured REST clients
- 40.3.10. Auto-configured Spring REST Docs tests
- 40.3.11. Using Spock to test Spring Boot applications
- 40.4. Test utilities
- 40.4.1. ConfigFileApplicationContextInitializer
- 40.4.2. EnvironmentTestUtils
- 40.4.3. OutputCapture
- 40.4.4. TestRestTemplate
- 41. WebSockets
- 42. Web Services
- 43. Creating your own auto-configuration
- 43.1. Understanding auto-configured beans
- 43.2. Locating auto-configuration candidates
- 43.3. Condition annotations
- 43.3.1. Class conditions
- 43.3.2. Bean conditions
- 43.3.3. Property conditions
- 43.3.4. Resource conditions
- 43.3.5. Web application conditions
- 43.3.6. SpEL expression conditions
- 43.4. Creating your own starter
- 43.4.1. Naming
- 43.4.2. Autoconfigure module
- 43.4.3. Starter module
- 44. What to read next
- V. Spring Boot Actuator: Production-ready features
- 45. Enabling production-ready features
- 46. Endpoints
- 46.1. Customizing endpoints
- 46.2. Hypermedia for actuator MVC endpoints
- 46.3. CORS support
- 46.4. Adding custom endpoints
- 46.5. Health information
- 46.6. Security with HealthIndicators
- 46.6.1. Auto-configured HealthIndicators
- 46.6.2. Writing custom HealthIndicators
- 46.7. Application information
- 46.7.1. Auto-configured InfoContributors
- 46.7.2. Custom application info information
- 46.7.3. Git commit information
- 46.7.4. Build information
- 46.7.5. Writing custom InfoContributors
- 47. Monitoring and management over HTTP
- 47.1. Securing sensitive endpoints
- 47.2. Customizing the management endpoint paths
- 47.3. Customizing the management server port
- 47.4. Configuring management-specific SSL
- 47.5. Customizing the management server address
- 47.6. Disabling HTTP endpoints
- 47.7. HTTP health endpoint access restrictions
- 48. Monitoring and management over JMX
- 48.1. Customizing MBean names
- 48.2. Disabling JMX endpoints
- 48.3. Using Jolokia for JMX over HTTP
- 48.3.1. Customizing Jolokia
- 48.3.2. Disabling Jolokia
- 49. Monitoring and management using a remote shell
- 49.1. Connecting to the remote shell
- 49.1.1. Remote shell credentials
- 49.2. Extending the remote shell
- 49.2.1. Remote shell commands
- 49.2.2. Remote shell plugins
- 50. Metrics
- 50.1. System metrics
- 50.2. DataSource metrics
- 50.3. Cache metrics
- 50.4. Tomcat session metrics
- 50.5. Recording your own metrics
- 50.6. Adding your own public metrics
- 50.7. Special features with Java 8
- 50.8. Metric writers, exporters and aggregation
- 50.8.1. Example: Export to Redis
- 50.8.2. Example: Export to Open TSDB
- 50.8.3. Example: Export to Statsd
- 50.8.4. Example: Export to JMX
- 50.9. Aggregating metrics from multiple sources
- 50.10. Dropwizard Metrics
- 50.11. Message channel integration
- 51. Auditing
- 52. Tracing
- 52.1. Custom tracing
- 53. Process monitoring
- 53.1. Extend configuration
- 53.2. Programmatically
- 54. What to read next
- VI. Deploying Spring Boot applications
- 55. Deploying to the cloud
- 55.1. Cloud Foundry
- 55.1.1. Binding to services
- 55.2. Heroku
- 55.3. OpenShift
- 55.4. Boxfuse and Amazon Web Services
- 55.5. Google App Engine
- 56. Installing Spring Boot applications
- 56.1. Unix/Linux services
- 56.1.1. Installation as an init.d service (System V)
- Securing an init.d service
- 56.1.2. Installation as a systemd service
- 56.1.3. Customizing the startup script
- Customizing script when it’s written
- Customizing script when it runs
- 57. Microsoft Windows services
- 58. What to read next
- VII. Spring Boot CLI
- 59. Installing the CLI
- 60. Using the CLI
- 60.1. Running applications using the CLI
- 60.1.1. Deduced “grab” dependencies
- 60.1.2. Deduced “grab” coordinates
- 60.1.3. Default import statements
- 60.1.4. Automatic main method
- 60.1.5. Custom dependency management
- 60.2. Testing your code
- 60.3. Applications with multiple source files
- 60.4. Packaging your application
- 60.5. Initialize a new project
- 60.6. Using the embedded shell
- 60.7. Adding extensions to the CLI
- 61. Developing application with the Groovy beans DSL
- 62. Configuring the CLI with settings.xml
- 63. What to read next
- VIII. Build tool plugins
- 64. Spring Boot Maven plugin
- 64.1. Including the plugin
- 64.2. Packaging executable jar and war files
- 65. Spring Boot Gradle plugin
- 65.1. Including the plugin
- 65.2. Gradle dependency management
- 65.3. Packaging executable jar and war files
- 65.4. Running a project in-place
- 65.5. Spring Boot plugin configuration
- 65.6. Repackage configuration
- 65.7. Repackage with custom Gradle configuration
- 65.7.1. Configuration options
- 65.7.2. Available layouts
- 65.8. Understanding how the Gradle plugin works
- 65.9. Publishing artifacts to a Maven repository using Gradle
- 65.9.1. Configuring Gradle to produce a pom that inherits dependency management
- 65.9.2. Configuring Gradle to produce a pom that imports dependency management
- 66. Spring Boot AntLib module
- 66.1. Spring Boot Ant tasks
- 66.1.1. spring-boot:exejar
- 66.1.2. Examples
- 66.2. spring-boot:findmainclass
- 66.2.1. Examples
- 67. Supporting other build systems
- 67.1. Repackaging archives
- 67.2. Nested libraries
- 67.3. Finding a main class
- 67.4. Example repackage implementation
- 68. What to read next
- IX. ‘How-to’ guides
- 69. Spring Boot application
- 69.1. Create your own FailureAnalyzer
- 69.2. Troubleshoot auto-configuration
- 69.3. Customize the Environment or ApplicationContext before it starts
- 69.4. Build an ApplicationContext hierarchy (adding a parent or root context)
- 69.5. Create a non-web application
- 70. Properties & configuration
- 70.1. Automatically expand properties at build time
- 70.1.1. Automatic property expansion using Maven
- 70.1.2. Automatic property expansion using Gradle
- 70.2. Externalize the configuration of SpringApplication
- 70.3. Change the location of external properties of an application
- 70.4. Use ‘short’ command line arguments
- 70.5. Use YAML for external properties
- 70.6. Set the active Spring profiles
- 70.7. Change configuration depending on the environment
- 70.8. Discover built-in options for external properties
- 71. Embedded servlet containers
- 71.1. Add a Servlet, Filter or Listener to an application
- 71.1.1. Add a Servlet, Filter or Listener using a Spring bean
- Disable registration of a Servlet or Filter
- 71.1.2. Add Servlets, Filters, and Listeners using classpath scanning
- 71.2. Change the HTTP port
- 71.3. Use a random unassigned HTTP port
- 71.4. Discover the HTTP port at runtime
- 71.5. Configure SSL
- 71.6. Configure Access Logging
- 71.7. Use behind a front-end proxy server
- 71.7.1. Customize Tomcat’s proxy configuration
- 71.8. Configure Tomcat
- 71.9. Enable Multiple Connectors with Tomcat
- 71.10. Use Jetty instead of Tomcat
- 71.11. Configure Jetty
- 71.12. Use Undertow instead of Tomcat
- 71.13. Configure Undertow
- 71.14. Enable Multiple Listeners with Undertow
- 71.15. Use Tomcat 7.x or 8.0
- 71.15.1. Use Tomcat 7.x or 8.0 with Maven
- 71.15.2. Use Tomcat 7.x or 8.0 with Gradle
- 71.16. Use Jetty 9.2
- 71.16.1. Use Jetty 9.2 with Maven
- 71.16.2. Use Jetty 9.2 with Gradle
最后更新:2017-05-19 14:07:10