Skip to content

Latest commit

 

History

History
715 lines (563 loc) · 20.2 KB

spring-boot-reference-coding.md

File metadata and controls

715 lines (563 loc) · 20.2 KB

스프링 부트 2.0 레퍼런스 코딩

참고

스프링 부트 레퍼런스 유툽/백기선/스프링 부트

유툽 인덱스

스프링 부트 Day 1

08:47 - I. Spring Boot Documentation
08:56 - 1. About the Documentation
09:47 - 2. Getting Help
11:43 - 3. First Steps
12:03 - 4. Working with Spring Boot
12:14 - 5. Learning about Spring Boot Features
12:29 - 6. Moving to Production
12:43 - 7. Advanced Topics
12:53 - II. Getting Started
13:53 - 8. Introducing Spring Boot
20:58 - 9. System Requirements
21:33 - 9.1. Servlet Containers
22:21 - 10. Installing Spring Boot
23:52 - 10.1. Installation Instructions for the Java Developer
25:34 - 10.1.1. Maven Installation
36:49 - 10.1.2. Gradle Installation
37:14 - 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
39:42 - 10.3. Upgrading from an Earlier Version of Spring Boot
41:08 - 11. Developing Your First Spring Boot Application
41:59 - 11.1. Creating the POM
45:06 - 11.2. Adding Classpath Dependencies
47:52 - 11.3. Writing the Code
49:57 - 11.3.1. The @RestController and @RequestMapping Annotations
54:06 - 11.3.2. The @EnableAutoConfiguration Annotation
57:21 - 11.3.3. The “main” Method
58:00 - 11.4. Running the Example

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

스프링 부트 Day 2

03:00 - 11.5. Creating an Executable Jar
32:32 - 12. What to Read Next
33:30 - III. Using Spring Boot
34:48 - 13. Build Systems
36:35 - 13.1. Dependency Management
48:14 - 13.2. Maven
50:08 - 13.2.1. Inheriting the Starter Parent
52:09 - 13.2.2. Using Spring Boot without the Parent POM
54:25 - 13.2.3. Using the Spring Boot Maven Plugin
13.3. Gradle
13.4. Ant


스프링 부트 Day 3

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

스프링 부트 Day 4

15.2. Importing XML Configuration
16. Auto-configuration
16.1. Gradually Replacing Auto-configuration
16.2. Disabling Specific Auto-configuration Classes
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

스프링 부트 Day 5

20.1. Property Defaults
20.2. Automatic Restart
20.2.1. Logging changes in condition evaluation
20.2.2. Excluding Resources
20.2.3. Watching Additional Paths
20.2.4. Disabling Restart
20.2.5. Using a Trigger File
20.2.6. Customizing the Restart Classloader
20.2.7. 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
21. Packaging Your Application for Production
22. What to Read Next

스프링 부트 Day 6

23. SpringApplication
23.1. Startup Failure
23.2. Customizing the Banner
23.3. Customizing SpringApplication
23.4. Fluent Builder API
23.5. Application Events and Listeners

스프링 부트 Day 7

23.6. Web Environment
23.7. Accessing Application Arguments
23.8. Using the ApplicationRunner or CommandLineRunner
23.9. Application Exit

스프링 부트 Day 8

23.10. 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

스프링 부트 Day 9

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

스프링 부트 Day 10

24.7. Type-safe Configuration Properties
24.7.1. Third-party Configuration
24.7.2. Relaxed Binding
24.7.3. Properties Conversion
Converting durations
24.7.4. @ConfigurationProperties Validation
24.7.5. @ConfigurationProperties vs. @Value

스프링 부트 Day 11

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

스프링 부트 Day 12

26.5. Custom Log Configuration
26.6. Logback Extensions
26.6.1. Profile-specific Configuration
26.6.2. Environment Properties

스프링 부트 Day 13

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

스프링 부트 Day 14

00:00 - Practice. HttpMessageConverters

42:40 - 27.1.4 MessageCodesResolver

53:29 - 27.1.5 Static Content

27.1.4. MessageCodesResolver
27.1.5. Static Content

스프링 부트 Day 15

00:00 - 27.1.5 Static Content (cont’d)

48:28 - 27.1.6 Welcome Page

51:23 - 27.1.7 Custom Favicon

57:00 - 27.1.8 Path Matching and Content Negotiation

27.1.5. Static Content
27.1.6. Welcome Page
27.1.7. Custom Favicon
27.1.8. Path Matching and Content Negotiation

스프링 부트 Day 16

00:52 - 27.1.9 ConfigurableWebBindingInitializer

06:57 - 27.1.10 Template Engines

38:17 - 27.4.5 JSP Limitations

40:44 - 27.1.10 Template Engines (cont’d)

44:32 - 27.1.11 Error Handling

27.1.9. ConfigurableWebBindingInitializer
27.1.10. Template Engines
27.1.11. Error Handling
Custom Error Pages
Mapping Error Pages outside of Spring MVC

스프링 부트 Day 17

01:00 - Practice. ConfigurableWebBindingInitializer

27:25 - 27.1.11 Error Handling (cont’d)

29:29 - Custom Error Pages

41:46 - Mapping Error Pages outside of Spring MVC

46:25 - 27.1.12 Spring HATEOAS

27.1.11. Error Handling
Custom Error Pages
Mapping Error Pages outside of Spring MVC
27.1.12. Spring HATEOAS

스프링 부트 Day 18

00:55 - CORS Support

34:24 - InfoQ Article - Spring Boot 2.0 Goes GA

27.1.13. CORS Support
(+ InfoQ Article - Spring Boot 2.0 Goes GA)

스프링 부트 Day 19

43. Testing
43.1. Test Scope Dependencies
43.2. Testing Spring Applications
43.3. Testing Spring Boot Applications
43.3.1. Detecting Web Application Type

스프링 부트 Day 20

43.3.2. Detecting Test Configuration
43.3.3. Excluding Test Configuration
43.3.4. Testing with a running server
43.3.5. Mocking and Spying Beans

스프링 부트 Day 21

43.3.6. Auto-configured Tests
43.3.7. Auto-configured JSON Tests
43.3.8. Auto-configured Spring MVC Tests
43.3.9. Auto-configured Spring WebFlux Tests
43.3.10. Auto-configured Data JPA Tests
43.3.11. Auto-configured JDBC Tests
43.3.12. Auto-configured jOOQ Tests
43.3.13. Auto-configured Data MongoDB Tests
43.3.14. Auto-configured Data Neo4j Tests
43.3.15. Auto-configured Data Redis Tests
43.3.16. Auto-configured Data LDAP Tests

스프링 부트 Day 22

43.3.17. Auto-configured REST Clients
43.3.18. Auto-configured Spring REST Docs Tests
Auto-configured Spring REST Docs Tests with Mock MVC
Auto-configured Spring REST Docs Tests with REST Assured
43.3.19. User Configuration and Slicing
43.3.20. Using Spock to Test Spring Boot Applications
43.4. Test Utilities
43.4.1. ConfigFileApplicationContextInitializer
43.4.2. TestPropertyValues
43.4.3. OutputCapture
43.4.4. TestRestTemplate

스프링 부트 Day 23

27.2. The “Spring WebFlux Framework”

스프링 부트 Day 24

27.2.1. Spring WebFlux Auto-configuration
27.2.2. HTTP Codecs with HttpMessageReaders and HttpMessageWriters
27.2.3. Static Content
27.2.4. Template Engines

스프링 부트 Day 25

27.2.5. Error Handling
Custom Error Pages
27.2.6. Web Filters
27.3. JAX-RS and Jersey
27.4. Embedded Servlet Container Support
27.4.1. Servlets, Filters, and listeners
Registering Servlets, Filters, and Listeners as Spring Beans
27.4.2. Servlet Context Initialization
Scanning for Servlets, Filters, and listeners
27.4.3. The ServletWebServerApplicationContext
27.4.4. Customizing Embedded Servlet Containers
Programmatic Customization
Customizing ConfigurableServletWebServerFactory Directly
27.4.5. JSP Limitations

스프링 부트 Day 26

28. Security
28.1. MVC Security

스프링 부트 Day 27

28.2. WebFlux Security
28.3. OAuth2
28.3.1. Client
28.3.2. Server
28.4. Actuator Security
28.4.1. Cross Site Request Forgery Protection

스프링 부트 Day 28

29. Working with SQL Databases
29.1. Configure a DataSource
29.1.1. Embedded Database Support

스프링 부트 Day 29

00:00 - 29.1.2 Connection to a Production Database

37:56 - 29.1.3 Connection to a JNDI DataSource

38:04 - 29.2 Using JdbcTemplate

29.1.2. Connection to a Production Database
29.1.3. Connection to a JNDI DataSource
29.2. Using JdbcTemplate

스프링 부트 Day 30

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.3.4. Open EntityManager in View
29.4. Using H2’s Web Console
29.4.1. Changing the H2 Console’s Path
29.5. Using jOOQ
29.5.1. Code Generation
29.5.2. Using DSLContext
29.5.3. jOOQ SQL Dialect
29.5.4. Customizing jOOQ

스프링 부트 Day 31

30. Working with NoSQL Technologies
30.1. Redis
30.1.1. Connecting to Redis

스프링 부트 Day 32

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

스프링 부트 Day 33

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

스프링 부트 Day 34

33. Calling REST Services with RestTemplate
33.1. RestTemplate Customization
34. Calling REST Services with WebClient
34.1. WebClient Customization

스프링 부트 Day 35

V. Spring Boot Actuator: Production-ready features
49. Enabling Production-ready Features
50. Endpoints
50.1. Enabling Endpoints
50.2. Exposing Endpoints
50.3. Securing HTTP Endpoints
50.4. Configuring Endpoints
50.5. Hypermedia for Actuator Web Endpoints
50.6. Actuator Web Endpoint Paths
50.7. CORS Support

스프링 부트 Day 36-1

50.8. Implementing Custom Endpoints
50.8.1. Receiving Input
Input type conversion
50.8.2. Custom Web Endpoints
Web Endpoint Request Predicates
Path
HTTP method
Consumes
Produces
Web Endpoint Response Status
Web Endpoint Range Requests
Web Endpoint Security

스프링 부트 Day 36-2

50.8.3. Servlet endpoints
50.8.4. Controller endpoints
50.9. Health Information
50.9.1. Auto-configured HealthIndicators
50.9.2. Writing Custom HealthIndicators
50.9.3. Reactive Health Indicators
50.9.4. Auto-configured ReactiveHealthIndicators
50.10. Application Information
50.10.1. Auto-configured InfoContributors
50.10.2. Custom Application Information
50.10.3. Git Commit Information
50.10.4. Build Information
50.10.5. Writing Custom InfoContributors
51. Monitoring and Management over HTTP
51.1. Customizing the Management Endpoint Paths
51.2. Customizing the Management Server Port
51.3. Configuring Management-specific SSL
51.4. Customizing the Management Server Address
51.5. Disabling HTTP Endpoints
52. Monitoring and Management over JMX
52.1. Customizing MBean Names
52.2. Disabling JMX Endpoints
52.3. Using Jolokia for JMX over HTTP
52.3.1. Customizing Jolokia
52.3.2. Disabling Jolokia
53. Loggers
53.1. Configure a Logger

스프링 부트 Day 37

54. Metrics
54.1. Getting started
54.2. Supported monitoring systems
54.2.1. Atlas
54.2.2. Datadog
54.2.3. Ganglia
54.2.4. Graphite
54.2.5. Influx
54.2.6. JMX
54.2.7. New Relic
54.2.8. Prometheus
54.2.9. SignalFx
54.2.10. Simple
54.2.11. StatsD
54.2.12. Wavefront
54.3. Supported Metrics
54.3.1. Spring MVC Metrics
54.3.2. Spring WebFlux Metrics
54.3.3. RestTemplate Metrics
54.3.4. Cache Metrics
54.3.5. DataSource Metrics
54.3.6. RabbitMQ Metrics
54.4. Registering custom metrics
54.5. Customizing individual metrics
54.5.1. Per-meter properties
54.6. Metrics endpoint
55. Auditing
56. HTTP Tracing
56.1. Custom HTTP tracing
57. Process Monitoring
57.1. Extending Configuration
57.2. Programmatically
58. Cloud Foundry Support
58.1. Disabling Extended Cloud Foundry Actuator Support
58.2. Cloud Foundry Self-signed Certificates
58.3. Custom context path
59. What to Read Next

스프링 부트 Day 38

VI. Deploying Spring Boot Applications
60. Deploying to the Cloud
60.1. Cloud Foundry
60.1.1. Binding to Services
60.2. Heroku
60.3. OpenShift
60.4. Amazon Web Services (AWS)
60.4.1. AWS Elastic Beanstalk
Using the Tomcat Platform
Using the Java SE Platform
60.4.2. Summary
60.5. Boxfuse and Amazon Web Services
60.6. Google Cloud

스프링 부트 Day 38

61. Installing Spring Boot Applications
61.1. Supported Operating Systems
61.2. Unix/Linux Services
61.2.1. Installation as an init.d Service (System V)
Securing an init.d Service
61.2.2. Installation as a systemd Service
61.2.3. Customizing the Startup Script
Customizing the Start Script when It Is Written
Customizing a Script When It Runs
61.3. Microsoft Windows Services