From 67a274fd9323b93e00ac2736298f511e23e44196 Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Wed, 29 Nov 2017 21:56:29 +0530 Subject: [PATCH 01/12] Updated Spring Boot to 2.0.0.M6 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4495165e07..1f5d9df56d 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.M5 + 2.0.0.M6 From 4fe6f279be66e074a92cc1a0b6a0b8916355bb9c Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Sat, 9 Dec 2017 22:20:18 +0530 Subject: [PATCH 02/12] Updated to 2.0.0.M7 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1f5d9df56d..209f115ce4 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.M6 + 2.0.0.M7 From 8640a49da7c344b0275a57852bd0b83906108f34 Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Sat, 17 Mar 2018 18:28:04 +0530 Subject: [PATCH 03/12] Updated to Spring Boot 2.0.0.RELEASE --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 209f115ce4..c1260dc5bd 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.M7 + 2.0.0.RELEASE From 4511c3bb0699bb3000cb7d513be6bf0af17a89f5 Mon Sep 17 00:00:00 2001 From: springframeworkguru Date: Mon, 3 Dec 2018 21:01:28 +0530 Subject: [PATCH 04/12] Upgraded to Spring Boot 2.1.0.RELEASE --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c1260dc5bd..eb12eaf80d 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.RELEASE + 2.1.0.RELEASE From 12f7580867c1da9433a21fe8fc648670bf28a460 Mon Sep 17 00:00:00 2001 From: John Thompson Date: Fri, 4 Jan 2019 14:12:57 -0500 Subject: [PATCH 05/12] Update README.md --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 19bc8bf7e3..c7524a04db 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,9 @@ # Spring Framework 5: Beginner to Guru -This repository is for an example application built in my [Spring Framework 5 - Beginner to Guru](https://courses.springframework.guru/p/spring-framework-5-begginer-to-guru) online course +This repository is for an example application built in my [Spring Framework 5 - Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) online course The application is a simple Spring Boot 2 / Spring Framework 5 web application. If you would like learn about what's new in Spring Framework 5, click [here](https://springframework.guru/what-is-new-with-spring-framework-5/) -If you'd like to learn more about the cool new reactive types in Spring Framework 5, click [here](https://springframework.guru/spring-web-reactive/) - -You can learn about my Spring Framework 5 Online course [here.](https://courses.springframework.guru/p/spring-framework-5-begginer-to-guru) \ No newline at end of file +You can learn about my Spring Framework 5 Online course [here.](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) From cf41e62be343e5eeba3ede9e95e231336aa4707e Mon Sep 17 00:00:00 2001 From: John Thompson Date: Fri, 18 Jan 2019 16:59:56 -0500 Subject: [PATCH 06/12] adding FAQ to README --- README.md | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++++- pom.xml | 2 +- 2 files changed, 269 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 19bc8bf7e3..f5bbeb0db2 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,271 @@ If you would like learn about what's new in Spring Framework 5, click [here](htt If you'd like to learn more about the cool new reactive types in Spring Framework 5, click [here](https://springframework.guru/spring-web-reactive/) -You can learn about my Spring Framework 5 Online course [here.](https://courses.springframework.guru/p/spring-framework-5-begginer-to-guru) \ No newline at end of file +You can learn about my Spring Framework 5 Online course [here.](https://courses.springframework.guru/p/spring-framework-5-begginer-to-guru) + +# Spring Framework 5: Beginner to Guru Course FAQs + +Check out this section for answers to frequently asked questions! + +## Development Environment Setup + +### Recommended Versions + +| Recommended | Reference | Notes | +| ----------- | --------- | ----- | +| Oracle Java 8 JDK | [Download](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | Java 11 is okay, see notes in FAQ | +| IntelliJ 2018 or Higher | [Download](https://www.jetbrains.com/idea/download/) | Ultimate Edition recommended | +| Maven 3.6.0 or higher | [Download](https://maven.apache.org/download.cgi) | [Installation Instructions](https://maven.apache.org/install.html)| +| Gradle 4.8 or higher | [Download](https://gradle.org/install/) | **Note:** Use Version 5 or higher if using Java 11 | +| Git 2.15 or higher | [Download](https://git-scm.com/downloads) | | +| Git GUI Clients | [Downloads](https://git-scm.com/downloads/guis) | Not required. But can be helpful if new to Git. SourceTree is a good option for Mac and Windows users. | +| Spring Boot 2.1 or higher | [What's new](https://content.pivotal.io/springone-platform-2017/whats-new-in-spring-boot-2-0-phillip-webb-madhura-bhave) | | + +### Getting Help With the Course +#### Udemy Q&A +Each course section has a Q&A Section. This should always be your first stop. Thousands of people have take this course. +Check to see if someone else asked a question related to your problem. + +If not, share your problem here. The instructor, teacher's assistants, and other students watch and answer questions. + +#### Slack +By enrolling in *Spring Framework 5: Beginner to Guru* you can join a Slack community exclusive to this course. + +In Slack you can get help 24 hrs a day, 7 days a week. The instructor, teachers assistants, and other students monitor Slack. + +See section 1 of the course for instructions on how to join. + +#### Do's and Don't of Getting Help + +###### Do - Use Udemy Q&A or Slack +These resources are monitored by the instructor, teachers assistants, and other students. + +###### Don't - Email or message the instructor directly +Asking your question in the public forums actually help others learn too. When you go outside the community, this is lost. +Also, the instructor is not always on-line and does take days off. You are likely to get a much faster response using Udemy Q&A or +Slack. + +###### Do - Share a Link to your Project on GitHub +This helps others re-create your problem. + +###### Don't - Share just a short part of the Error +Example of error shared: +```xml +Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project pet-clinic: Maven execution failed, exit code: '1' -> [Help 1] +``` +In the above example, it is impossible to tell what the root cause is. The person has not shared enough details. + +When seeking help, help others help you! + +###### Do - Share the Error Output in a GitHub Gist Link +Create a [Gist](https://help.github.com/articles/about-gists/) of the error output to share. + +**Pro-Tip** - You can create a gist from the run window of IntelliJ. In the console, right click > select option for +create gist. + +###### Don't Share Screenshots +Using a gist is usually a better option! + +###### Don't - Open GitHub Issues +Unfortunately, the course has been pirated. Support is for people who are legitimately enrolled in the course. There is +no way to verify enrollment from GitHub. Thus, problems raised on GitHub will not be addressed. + +**Exception:** One exception is the Pet Clinic project, which is being treated as a community project. +### Java Version + +#### Which version of Java should I use? + +Majority of the course has been developed on Java 8. The course is being updated to Java 11. + +If you wish to use Java 9 or higher, please modify the following: + +**Note:** If you are on Java 9, or Java 10 you should consider updating to Java 11. + +Update your Maven POM properties to reflect the Java version. +```xml + + UTF-8 + UTF-8 + 11 + 2.3.0 + ${java.version} + ${java.version} + + +``` + +The JAXB API is no longer included with Java in Java 9 and higher. You will need to add this dependency as follows: + +```xml + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + com.sun.xml.bind + jaxb-core + ${jaxb.version} + + + com.sun.xml.bind + jaxb-impl + ${jaxb.version} + +``` + +#### Do I need to use the Oracle JDK? +No. Open JDK should work just as well. + +#### Do I need to pay Oracle for a license to use Java? +No, the Oracle JDK is free to use for development. + +### Java IDE +#### Do I meed to use IntelliJ for this course? +No, all source code examples use Maven or Gradle. Any modern Java IDE supports these build tools. + +#### Is it okay to use Eclipse for this course? +Yes. However, please understand the instructor has not used Eclipse in over 10 years and will not be able to +answer IDE related questions. + +#### Can I use the Community Edition of IntelliJ? +Yes. The Community edition of IntelliJ is very good. The Ultimate Edition does have advanced features to support +Spring Framework development. These features are used in the course, and will not be available in the +Community Edition. + +#### How do I get the free 120 Day Trial to IntelliJ Ultimate? +See section 1 of the course. There is a lecture with a sign-up link to register. You can download IntelliJ Ultimate with a +free 30 day trial right away. You will be emailed a code with instructions within 3-5 business days. (often faster) + +#### I haven't received my 120 Day Trial code to IntelliJ Ultimate +If it has been more than 5 days, check your spam folder. (Almost always there!) If not found, email John Thompson. If +messaging on Udemy please include the email you registered with. + +#### The code I received is not working. +This is often one of the following: +* You are entering the code as a license in IntelliJ. It is not a license code. It is a code for JetBrains to +issue you a 120 day license. Use this [link](https://www.jetbrains.com/store/redeem/) to register with JetBrains. +* If you get the error ```This coupon code is not applicable to the product.``` often it is because the email you are +using has been registered with JetBrains in the past. Try using a different email account. + +#### Can I Use the EAP version of IntelliJ? +Yep! The instructor typically runs on the EAP version to get all the latest features. The EAP version is usually +very stable. Checkout the latest EAP version [here](https://www.jetbrains.com/idea/whatsnew/) + +## Common Problems +#### Getting error - Whitelabel Error Page - This application has no explicit mapping for /error... +This is a generic error page generated by Spring Boot. The root cause can be many different things. + +If you see this web page, you need to view the Spring Boot console messages to determine the root cause. + +#### Project wont start. Getting error: java.net.BindException: Address already in use +May see in console log: +``` +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured. + +Action: + +Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port. +``` + +This means another application is already running on port 8080. You need to find and stop the other application. + +#### Database tables missing in H2 Database console. +By default Spring Boot will configure the datasource as ```jdbc:h2:mem:testdb``` + +However, if running the H2 database console for the first time, the datasource URL is ```jdbc:h2:~/test``` + +What happens is the H2 database console is connecting to a different instance of the H2 database console, thus you will +not see the database tables. + +**Solution:** When connecting in the H2 Database Console, change the JDBC URL to ```jdbc:h2:mem:testdb``` + +#### Multi-Module Maven Project has error 'can't find Main class' +Spring Boot is trying to build an executable fat JAR with dependencies for a module that should be a normal JAR, thus looking +for the main class for the JAR manifest file. + +**Solution:** +You need to tell the Spring Boot Maven Plugin to **not** repackage the jar. + +Add the following property to the Maven module you wish packaged as a normal jar. + +```xml + + true + +``` +**Note:** For Spring Boot 2.1 or Higher! This configuration has changed from earlier versions of Spring Boot. + +#### Getting an error, but cannot find what is different from lesson source code. +Sometimes it can be a very small difference. You can use Git to report the differences between your code and the example +source code for the lesson. + +**Note:** This will only work if you've forked the original source code example to your GitHub repository. + +1. Commit all of your changes. +2. Add remote for original repo - ```git remote add sfgRepo github_url``` +3. Fetch remote - ```git fetch sfgRepo``` +4. Run diff - ```git diff HEAD..sfgRepo/master``` <- update branch name from master to desired branch for lesson + +#### Error - java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException +You are running Java 9+ and have not added the JAXB dependencies. + +Add the following dependencies to your Maven POM: + +```xml + + 2.3.0 + + + + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + com.sun.xml.bind + jaxb-core + ${jaxb.version} + + + com.sun.xml.bind + jaxb-impl + ${jaxb.version} + + +``` + +#### JUnit 5 Tests are not running from Maven +There are several reasons for this, and a lot of bad advice on the internet. + +Please see this [blog post!](https://springframework.guru/why-your-junit-5-tests-are-not-running-under-maven/) + +#### Spring Pet Clinic - CSS is not rendered, page is not styled. +The CSS resources are generated with Maven. Thus if the project is cleaned, not built, or re-generated with IntelliJ +the CSS resources will not exist. + +**Solution:** Just build the project with Maven. ```mvn clean package``` + +#### Error 'No qualifying Bean of type [Java class name] found for dependency...' +Spring is looking for a bean of a specific type in the context, but is unable to find it. Error is because Spring +has not been configured to create a bean for the Java class indicated in the message. + +This may be due to several different reasons, but when troubleshooting - keep in mind Spring is telling you +that Java class is missing from the context. You need to tell Spring to create a bean of that type. + +Try the following: +1. Make sure you have a bean of the type configured. + * Is the missing Java class annotated with a Spring stereotype - @Component, @Controller, @RestController, @Service, @Repository? + * Or has the bean been declared in a Java configuration class using the @Bean annotation? +2. Is the package of the Java class or configuration class being scanned? + * By default, Spring Boot will do a component scan of the package of the main application class, and all sub-packages. + A common mistake is to create a package outside of this package structure. (thus, Spring does not 'see' the configuration) + * If the component is not under the package of the main application class, use the @ComponentScan annotation. See this + [link](https://springframework.guru/spring-component-scan/) for additional information. diff --git a/pom.xml b/pom.xml index 4495165e07..f34c1936df 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.M5 + 2.1.2.RELEASE From b531ee6b62c7c27e37dd191e2bfac09cb3548a96 Mon Sep 17 00:00:00 2001 From: John Thompson Date: Sun, 20 Jan 2019 11:30:06 -0500 Subject: [PATCH 07/12] Update README.md --- README.md | 264 +----------------------------------------------------- 1 file changed, 1 insertion(+), 263 deletions(-) diff --git a/README.md b/README.md index 461b99f110..f3a8d3b4e8 100644 --- a/README.md +++ b/README.md @@ -12,267 +12,5 @@ You can learn about my Spring Framework 5 Online course [here.](https://courses. # Spring Framework 5: Beginner to Guru Course FAQs -Check out this section for answers to frequently asked questions! +Check out this [page](https://github.com/springframeworkguru/spring5webapp/wiki) for answers to frequently asked questions! -## Development Environment Setup - -### Recommended Versions - -| Recommended | Reference | Notes | -| ----------- | --------- | ----- | -| Oracle Java 8 JDK | [Download](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | Java 11 is okay, see notes in FAQ | -| IntelliJ 2018 or Higher | [Download](https://www.jetbrains.com/idea/download/) | Ultimate Edition recommended | -| Maven 3.6.0 or higher | [Download](https://maven.apache.org/download.cgi) | [Installation Instructions](https://maven.apache.org/install.html)| -| Gradle 4.8 or higher | [Download](https://gradle.org/install/) | **Note:** Use Version 5 or higher if using Java 11 | -| Git 2.15 or higher | [Download](https://git-scm.com/downloads) | | -| Git GUI Clients | [Downloads](https://git-scm.com/downloads/guis) | Not required. But can be helpful if new to Git. SourceTree is a good option for Mac and Windows users. | -| Spring Boot 2.1 or higher | [What's new](https://content.pivotal.io/springone-platform-2017/whats-new-in-spring-boot-2-0-phillip-webb-madhura-bhave) | | - -### Getting Help With the Course -#### Udemy Q&A -Each course section has a Q&A Section. This should always be your first stop. Thousands of people have take this course. -Check to see if someone else asked a question related to your problem. - -If not, share your problem here. The instructor, teacher's assistants, and other students watch and answer questions. - -#### Slack -By enrolling in *Spring Framework 5: Beginner to Guru* you can join a Slack community exclusive to this course. - -In Slack you can get help 24 hrs a day, 7 days a week. The instructor, teachers assistants, and other students monitor Slack. - -See section 1 of the course for instructions on how to join. - -#### Do's and Don't of Getting Help - -###### Do - Use Udemy Q&A or Slack -These resources are monitored by the instructor, teachers assistants, and other students. - -###### Don't - Email or message the instructor directly -Asking your question in the public forums actually help others learn too. When you go outside the community, this is lost. -Also, the instructor is not always on-line and does take days off. You are likely to get a much faster response using Udemy Q&A or -Slack. - -###### Do - Share a Link to your Project on GitHub -This helps others re-create your problem. - -###### Don't - Share just a short part of the Error -Example of error shared: -```xml -Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project pet-clinic: Maven execution failed, exit code: '1' -> [Help 1] -``` -In the above example, it is impossible to tell what the root cause is. The person has not shared enough details. - -When seeking help, help others help you! - -###### Do - Share the Error Output in a GitHub Gist Link -Create a [Gist](https://help.github.com/articles/about-gists/) of the error output to share. - -**Pro-Tip** - You can create a gist from the run window of IntelliJ. In the console, right click > select option for -create gist. - -###### Don't Share Screenshots -Using a gist is usually a better option! - -###### Don't - Open GitHub Issues -Unfortunately, the course has been pirated. Support is for people who are legitimately enrolled in the course. There is -no way to verify enrollment from GitHub. Thus, problems raised on GitHub will not be addressed. - -**Exception:** One exception is the Pet Clinic project, which is being treated as a community project. -### Java Version - -#### Which version of Java should I use? - -Majority of the course has been developed on Java 8. The course is being updated to Java 11. - -If you wish to use Java 9 or higher, please modify the following: - -**Note:** If you are on Java 9, or Java 10 you should consider updating to Java 11. - -Update your Maven POM properties to reflect the Java version. -```xml - - UTF-8 - UTF-8 - 11 - 2.3.0 - ${java.version} - ${java.version} - - -``` - -The JAXB API is no longer included with Java in Java 9 and higher. You will need to add this dependency as follows: - -```xml - - javax.xml.bind - jaxb-api - ${jaxb.version} - - - com.sun.xml.bind - jaxb-core - ${jaxb.version} - - - com.sun.xml.bind - jaxb-impl - ${jaxb.version} - -``` - -#### Do I need to use the Oracle JDK? -No. Open JDK should work just as well. - -#### Do I need to pay Oracle for a license to use Java? -No, the Oracle JDK is free to use for development. - -### Java IDE -#### Do I meed to use IntelliJ for this course? -No, all source code examples use Maven or Gradle. Any modern Java IDE supports these build tools. - -#### Is it okay to use Eclipse for this course? -Yes. However, please understand the instructor has not used Eclipse in over 10 years and will not be able to -answer IDE related questions. - -#### Can I use the Community Edition of IntelliJ? -Yes. The Community edition of IntelliJ is very good. The Ultimate Edition does have advanced features to support -Spring Framework development. These features are used in the course, and will not be available in the -Community Edition. - -#### How do I get the free 120 Day Trial to IntelliJ Ultimate? -See section 1 of the course. There is a lecture with a sign-up link to register. You can download IntelliJ Ultimate with a -free 30 day trial right away. You will be emailed a code with instructions within 3-5 business days. (often faster) - -#### I haven't received my 120 Day Trial code to IntelliJ Ultimate -If it has been more than 5 days, check your spam folder. (Almost always there!) If not found, email John Thompson. If -messaging on Udemy please include the email you registered with. - -#### The code I received is not working. -This is often one of the following: -* You are entering the code as a license in IntelliJ. It is not a license code. It is a code for JetBrains to -issue you a 120 day license. Use this [link](https://www.jetbrains.com/store/redeem/) to register with JetBrains. -* If you get the error ```This coupon code is not applicable to the product.``` often it is because the email you are -using has been registered with JetBrains in the past. Try using a different email account. - -#### Can I Use the EAP version of IntelliJ? -Yep! The instructor typically runs on the EAP version to get all the latest features. The EAP version is usually -very stable. Checkout the latest EAP version [here](https://www.jetbrains.com/idea/whatsnew/) - -## Common Problems -#### Getting error - Whitelabel Error Page - This application has no explicit mapping for /error... -This is a generic error page generated by Spring Boot. The root cause can be many different things. - -If you see this web page, you need to view the Spring Boot console messages to determine the root cause. - -#### Project wont start. Getting error: java.net.BindException: Address already in use -May see in console log: -``` -*************************** -APPLICATION FAILED TO START -*************************** - -Description: - -The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured. - -Action: - -Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port. -``` - -This means another application is already running on port 8080. You need to find and stop the other application. - -#### Database tables missing in H2 Database console. -By default Spring Boot will configure the datasource as ```jdbc:h2:mem:testdb``` - -However, if running the H2 database console for the first time, the datasource URL is ```jdbc:h2:~/test``` - -What happens is the H2 database console is connecting to a different instance of the H2 database console, thus you will -not see the database tables. - -**Solution:** When connecting in the H2 Database Console, change the JDBC URL to ```jdbc:h2:mem:testdb``` - -#### Multi-Module Maven Project has error 'can't find Main class' -Spring Boot is trying to build an executable fat JAR with dependencies for a module that should be a normal JAR, thus looking -for the main class for the JAR manifest file. - -**Solution:** -You need to tell the Spring Boot Maven Plugin to **not** repackage the jar. - -Add the following property to the Maven module you wish packaged as a normal jar. - -```xml - - true - -``` -**Note:** For Spring Boot 2.1 or Higher! This configuration has changed from earlier versions of Spring Boot. - -#### Getting an error, but cannot find what is different from lesson source code. -Sometimes it can be a very small difference. You can use Git to report the differences between your code and the example -source code for the lesson. - -**Note:** This will only work if you've forked the original source code example to your GitHub repository. - -1. Commit all of your changes. -2. Add remote for original repo - ```git remote add sfgRepo github_url``` -3. Fetch remote - ```git fetch sfgRepo``` -4. Run diff - ```git diff HEAD..sfgRepo/master``` <- update branch name from master to desired branch for lesson - -#### Error - java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException -You are running Java 9+ and have not added the JAXB dependencies. - -Add the following dependencies to your Maven POM: - -```xml - - 2.3.0 - - - - - javax.xml.bind - jaxb-api - ${jaxb.version} - - - com.sun.xml.bind - jaxb-core - ${jaxb.version} - - - com.sun.xml.bind - jaxb-impl - ${jaxb.version} - - -``` - -#### JUnit 5 Tests are not running from Maven -There are several reasons for this, and a lot of bad advice on the internet. - -Please see this [blog post!](https://springframework.guru/why-your-junit-5-tests-are-not-running-under-maven/) - -#### Spring Pet Clinic - CSS is not rendered, page is not styled. -The CSS resources are generated with Maven. Thus if the project is cleaned, not built, or re-generated with IntelliJ -the CSS resources will not exist. - -**Solution:** Just build the project with Maven. ```mvn clean package``` - -#### Error 'No qualifying Bean of type [Java class name] found for dependency...' -Spring is looking for a bean of a specific type in the context, but is unable to find it. Error is because Spring -has not been configured to create a bean for the Java class indicated in the message. - -This may be due to several different reasons, but when troubleshooting - keep in mind Spring is telling you -that Java class is missing from the context. You need to tell Spring to create a bean of that type. - -Try the following: -1. Make sure you have a bean of the type configured. - * Is the missing Java class annotated with a Spring stereotype - @Component, @Controller, @RestController, @Service, @Repository? - * Or has the bean been declared in a Java configuration class using the @Bean annotation? -2. Is the package of the Java class or configuration class being scanned? - * By default, Spring Boot will do a component scan of the package of the main application class, and all sub-packages. - A common mistake is to create a package outside of this package structure. (thus, Spring does not 'see' the configuration) - * If the component is not under the package of the main application class, use the @ComponentScan annotation. See this - [link](https://springframework.guru/spring-component-scan/) for additional information. From 22fa66333680c43283d578775e184d97152dbd9d Mon Sep 17 00:00:00 2001 From: John Thompson Date: Tue, 22 Jan 2019 08:43:22 -0500 Subject: [PATCH 08/12] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index f3a8d3b4e8..9aa27952a8 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,6 @@ If you would like learn about what's new in Spring Framework 5, click [here](htt You can learn about my Spring Framework 5 Online course [here.](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) -You can learn about my Spring Framework 5 Online course [here.](https://courses.springframework.guru/p/spring-framework-5-begginer-to-guru) - # Spring Framework 5: Beginner to Guru Course FAQs Check out this [page](https://github.com/springframeworkguru/spring5webapp/wiki) for answers to frequently asked questions! From 88b1c4deb2fc20da38e65ae9010b6f1a7ae1902f Mon Sep 17 00:00:00 2001 From: John Thompson Date: Thu, 24 Jan 2019 08:52:50 -0500 Subject: [PATCH 09/12] updating readme with additional info and links --- README.md | 62 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index f3a8d3b4e8..47c90a88e1 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,53 @@ This repository is for an example application built in my [Spring Framework 5 - Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) online course -The application is a simple Spring Boot 2 / Spring Framework 5 web application. - -If you would like learn about what's new in Spring Framework 5, click [here](https://springframework.guru/what-is-new-with-spring-framework-5/) - -You can learn about my Spring Framework 5 Online course [here.](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) - -You can learn about my Spring Framework 5 Online course [here.](https://courses.springframework.guru/p/spring-framework-5-begginer-to-guru) - -# Spring Framework 5: Beginner to Guru Course FAQs - -Check out this [page](https://github.com/springframeworkguru/spring5webapp/wiki) for answers to frequently asked questions! - +The application is a simple Spring Boot 2 / Spring Framework 5 web application. It is used to help students learn how +to use the Spring Framework. Step by step instructions and detailed explanations can be found within the course. + +As you work through the course, please feel free to fork this repository to your out GitHub repo. Most links contain links +to source code changes. If you encounter a problem you can compare your code to the lesson code. [See this link for help with compares](https://github.com/springframeworkguru/spring5webapp/wiki#getting-an-error-but-cannot-find-what-is-different-from-lesson-source-code) + +# Spring Framework 5: Beginner to Guru Course Wiki +Got a question about your Spring Framework 5 course? [Checkout these FAQs!](https://github.com/springframeworkguru/spring5webapp/wiki) + +## Getting Your Development Environment Setup +### Recommended Versions + | Recommended | Reference | Notes | +| ----------- | --------- | ----- | +| Oracle Java 8 JDK | [Download](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | Java 11 is okay, see notes about Java [on the course wiki](https://github.com/springframeworkguru/spring5webapp/wiki/Java-Version) | +| IntelliJ 2018 or Higher | [Download](https://www.jetbrains.com/idea/download/) | Ultimate Edition recommended. Students can get a free 120 trial license [here](https://github.com/springframeworkguru/spring5webapp/wiki/Which-IDE-to-Use%3F#how-do-i-get-the-free-120-day-trial-to-intellij-ultimate) | +| Maven 3.6.0 or higher | [Download](https://maven.apache.org/download.cgi) | [Installation Instructions](https://maven.apache.org/install.html)| +| Gradle 4.8 or higher | [Download](https://gradle.org/install/) | **Note:** Use Version 5 or higher if using Java 11 | +| Git 2.15 or higher | [Download](https://git-scm.com/downloads) | | +| Git GUI Clients | [Downloads](https://git-scm.com/downloads/guis) | Not required. But can be helpful if new to Git. SourceTree is a good option for Mac and Windows users. | +| Spring Boot 2.1 or higher | [What's new](https://content.pivotal.io/springone-platform-2017/whats-new-in-spring-boot-2-0-phillip-webb-madhura-bhave) | | + +# All Spring Framework Guru Courses +### Spring Framework 5 +* [Spring Framework 5: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) - Get the most modern and comprehensive course available for the Spring Framework! Join over 4,100 over Guru's in an Slack community exclusive to this course! More than 2,700 students have given this 50.5 hour course a 5 star review! +* [Reactive Programming with Spring Framework 5](https://www.udemy.com/reactive-programming-with-spring-framework-5/?couponCode=GITHUB_REPO_SF5B2G) - Keep your skills razor sharp and take a deep dive into Reactive Programming! +* [Testing Spring Boot: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO_SF5B2G) - Become an expert in testing Java and Spring Applications with JUnit 5, Mockito and much more! + +### SQL +* [SQL Beginner to Guru: MySQL Edition](https://www.udemy.com/sql-beginner-to-guru-mysql-edition/?couponCode=GITHUB_REPO_SF5B2G) - SQL is a fundamental must have skill, which employers are looking for. Learn to master SQL on MySQL, the worlds most popular database! + +### DevOps +* [Apache Maven: Beginner to Guru](https://www.udemy.com/apache-maven-beginner-to-guru/?couponCode=GITHUB_REPO_SF5B2G) - Take the mystery out of Apache Maven. Learn how to use Maven to build your Java and Spring Boot projects! +* [Docker for Java Developers](https://www.udemy.com/docker-for-java-developers/?couponCode=GITHUB_REPO_SF5B2G) - Best Selling Course on Udemy! Learn how you can supercharge your development by leveraging Docker. Collaborate with other students in a Slack community exclusive to the course! +* [Spring Framework DevOps on AWS](https://www.udemy.com/spring-core-devops-on-aws/?couponCode=GITHUB_REPO_SF5B2G) - Learn how to build and deploy Spring applications on Amazon AWS! +* [Ready for Production with Spring Boot Actuator](https://www.udemy.com/ready-for-production-with-spring-boot-actuator/?couponCode=GITHUB_REPO_SF5B2G) - Learn how to leverage Spring Boot Actuator to monitor your applications running in production. + +### Web Development with Spring Framework +* [Angular 4 Java Developers](https://www.udemy.com/angular-4-java-developers/?couponCode=GITHUB_REPO_SF5B2G) - Learn how to use Angular with Spring Boot. Two flaming hot technologies! This is the only course on Udemy where you can learn how to use JHipster to rapidly build your next application! Also, be sure to checkout the Slack community for this course! +* [Mastering Thymeleaf with Spring Boot](https://www.udemy.com/mastering-thymeleaf-with-spring/?couponCode=GITHUB_REPO_SF5B2G) - Once you learn Thymeleaf, you'll never want to go back to using JSPs for web development! + +### Spring Framework 4 +* [Spring Core](https://www.udemy.com/spring-core/) - Learn the core of Spring Framework 4! +* [Spring Core Advanced](https://www.udemy.com/spring-core-advanced-beyond-the-basics/?couponCode=GITHUB_REPO_SF5B2G) - Go beyond the basics! Learn about Aspect Oriented Programming, Spring Security, using Spring Events, JMS and more! + +# Connect with Spring Framework Guru +* Spring Framework Guru [Blog](https://springframework.guru/) +* Subscribe to Spring Framework Guru on [YouTube](https://www.youtube.com/channel/UCrXb8NaMPQCQkT8yMP_hSkw) +* Like Spring Framework Guru on [Facebook](https://www.facebook.com/springframeworkguru/) +* Follow Spring Framework Guru on [Twitter](https://twitter.com/spring_guru) +* Connect with John Thompson on [LinkedIn](http://www.linkedin.com/in/springguru) \ No newline at end of file From ab15ed384c3906e401313c782385572bb4f516ae Mon Sep 17 00:00:00 2001 From: John Thompson Date: Thu, 24 Jan 2019 08:57:03 -0500 Subject: [PATCH 10/12] formating changes --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1b73f88f15..c0cd2fbacd 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ to use the Spring Framework. Step by step instructions and detailed explanations As you work through the course, please feel free to fork this repository to your out GitHub repo. Most links contain links to source code changes. If you encounter a problem you can compare your code to the lesson code. [See this link for help with compares](https://github.com/springframeworkguru/spring5webapp/wiki#getting-an-error-but-cannot-find-what-is-different-from-lesson-source-code) -# Spring Framework 5: Beginner to Guru Course Wiki +## Spring Framework 5: Beginner to Guru Course Wiki Got a question about your Spring Framework 5 course? [Checkout these FAQs!](https://github.com/springframeworkguru/spring5webapp/wiki) ## Getting Your Development Environment Setup @@ -23,7 +23,7 @@ Got a question about your Spring Framework 5 course? [Checkout these FAQs!](http | Git GUI Clients | [Downloads](https://git-scm.com/downloads/guis) | Not required. But can be helpful if new to Git. SourceTree is a good option for Mac and Windows users. | | Spring Boot 2.1 or higher | [What's new](https://content.pivotal.io/springone-platform-2017/whats-new-in-spring-boot-2-0-phillip-webb-madhura-bhave) | | -# All Spring Framework Guru Courses +## All Spring Framework Guru Courses ### Spring Framework 5 * [Spring Framework 5: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) - Get the most modern and comprehensive course available for the Spring Framework! Join over 4,100 over Guru's in an Slack community exclusive to this course! More than 2,700 students have given this 50.5 hour course a 5 star review! * [Reactive Programming with Spring Framework 5](https://www.udemy.com/reactive-programming-with-spring-framework-5/?couponCode=GITHUB_REPO_SF5B2G) - Keep your skills razor sharp and take a deep dive into Reactive Programming! @@ -46,7 +46,7 @@ Got a question about your Spring Framework 5 course? [Checkout these FAQs!](http * [Spring Core](https://www.udemy.com/spring-core/) - Learn the core of Spring Framework 4! * [Spring Core Advanced](https://www.udemy.com/spring-core-advanced-beyond-the-basics/?couponCode=GITHUB_REPO_SF5B2G) - Go beyond the basics! Learn about Aspect Oriented Programming, Spring Security, using Spring Events, JMS and more! -# Connect with Spring Framework Guru +## Connect with Spring Framework Guru * Spring Framework Guru [Blog](https://springframework.guru/) * Subscribe to Spring Framework Guru on [YouTube](https://www.youtube.com/channel/UCrXb8NaMPQCQkT8yMP_hSkw) * Like Spring Framework Guru on [Facebook](https://www.facebook.com/springframeworkguru/) From 670b73096a296ce7630b160618c08c0c11a37dbe Mon Sep 17 00:00:00 2001 From: John Thompson Date: Thu, 19 Dec 2019 05:42:04 -0500 Subject: [PATCH 11/12] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c0cd2fbacd..7c94211cf9 100644 --- a/README.md +++ b/README.md @@ -25,15 +25,17 @@ Got a question about your Spring Framework 5 course? [Checkout these FAQs!](http ## All Spring Framework Guru Courses ### Spring Framework 5 -* [Spring Framework 5: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) - Get the most modern and comprehensive course available for the Spring Framework! Join over 4,100 over Guru's in an Slack community exclusive to this course! More than 2,700 students have given this 50.5 hour course a 5 star review! +* [Spring Framework 5: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) - Get the most modern and comprehensive course available for the Spring Framework! Join over 8,200 over Guru's in an Slack community exclusive to this course! More than 3,700 students have given this 53 hour course a 5 star review! +* [Spring Boot Microservices with Spring Cloud Beginner to Guru](https://www.udemy.com/course/spring-boot-microservices-with-spring-cloud-beginner-to-guru/?referralCode=6142D427AE53031FEF38) - Master Microservice Architectures Using Spring Boot 2 and Cloud Based Deployments with Spring Cloud and Docker * [Reactive Programming with Spring Framework 5](https://www.udemy.com/reactive-programming-with-spring-framework-5/?couponCode=GITHUB_REPO_SF5B2G) - Keep your skills razor sharp and take a deep dive into Reactive Programming! -* [Testing Spring Boot: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO_SF5B2G) - Become an expert in testing Java and Spring Applications with JUnit 5, Mockito and much more! +* [Testing Spring Boot: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO_SF5B2G) - ** Best Selling Course** Become an expert in testing Java and Spring Applications with JUnit 5, Mockito and much more! ### SQL * [SQL Beginner to Guru: MySQL Edition](https://www.udemy.com/sql-beginner-to-guru-mysql-edition/?couponCode=GITHUB_REPO_SF5B2G) - SQL is a fundamental must have skill, which employers are looking for. Learn to master SQL on MySQL, the worlds most popular database! ### DevOps -* [Apache Maven: Beginner to Guru](https://www.udemy.com/apache-maven-beginner-to-guru/?couponCode=GITHUB_REPO_SF5B2G) - Take the mystery out of Apache Maven. Learn how to use Maven to build your Java and Spring Boot projects! +* [Apache Maven: Beginner to Guru](https://www.udemy.com/apache-maven-beginner-to-guru/?couponCode=GITHUB_REPO_SF5B2G) - **Best Selling Course** Take the mystery out of Apache Maven. Learn how to use Maven to build your Java and Spring Boot projects! +* [OpenAPI: Beginner to Guru](https://www.udemy.com/course/openapi-beginner-to-guru/?referralCode=0E7F511C749013CA6AAD) - Master OpenAPI (formerly Swagger) to Create Specifications for Your APIs * [Docker for Java Developers](https://www.udemy.com/docker-for-java-developers/?couponCode=GITHUB_REPO_SF5B2G) - Best Selling Course on Udemy! Learn how you can supercharge your development by leveraging Docker. Collaborate with other students in a Slack community exclusive to the course! * [Spring Framework DevOps on AWS](https://www.udemy.com/spring-core-devops-on-aws/?couponCode=GITHUB_REPO_SF5B2G) - Learn how to build and deploy Spring applications on Amazon AWS! * [Ready for Production with Spring Boot Actuator](https://www.udemy.com/ready-for-production-with-spring-boot-actuator/?couponCode=GITHUB_REPO_SF5B2G) - Learn how to leverage Spring Boot Actuator to monitor your applications running in production. From bb70907aeb884a2e7edd3efcc7f8f3e0a4ac88c9 Mon Sep 17 00:00:00 2001 From: John Thompson Date: Wed, 20 Jul 2022 14:57:53 -0400 Subject: [PATCH 12/12] Update README.md --- README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7c94211cf9..15bf7b8dfd 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Got a question about your Spring Framework 5 course? [Checkout these FAQs!](http ### Recommended Versions | Recommended | Reference | Notes | | ----------- | --------- | ----- | -| Oracle Java 8 JDK | [Download](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) | Java 11 is okay, see notes about Java [on the course wiki](https://github.com/springframeworkguru/spring5webapp/wiki/Java-Version) | +| Oracle Java 11 JDK | [Download]([https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html)) | Java 8 or Java 17 may also be used. | | IntelliJ 2018 or Higher | [Download](https://www.jetbrains.com/idea/download/) | Ultimate Edition recommended. Students can get a free 120 trial license [here](https://github.com/springframeworkguru/spring5webapp/wiki/Which-IDE-to-Use%3F#how-do-i-get-the-free-120-day-trial-to-intellij-ultimate) | | Maven 3.6.0 or higher | [Download](https://maven.apache.org/download.cgi) | [Installation Instructions](https://maven.apache.org/install.html)| | Gradle 4.8 or higher | [Download](https://gradle.org/install/) | **Note:** Use Version 5 or higher if using Java 11 | @@ -25,7 +25,7 @@ Got a question about your Spring Framework 5 course? [Checkout these FAQs!](http ## All Spring Framework Guru Courses ### Spring Framework 5 -* [Spring Framework 5: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) - Get the most modern and comprehensive course available for the Spring Framework! Join over 8,200 over Guru's in an Slack community exclusive to this course! More than 3,700 students have given this 53 hour course a 5 star review! +* [Spring Framework 5: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO) - Get the most modern and comprehensive course available for the Spring Framework! Join over 17,200 over Guru's in an Slack community exclusive to this course! More than 5,700 students have given this 53 hour course a 5 star review! * [Spring Boot Microservices with Spring Cloud Beginner to Guru](https://www.udemy.com/course/spring-boot-microservices-with-spring-cloud-beginner-to-guru/?referralCode=6142D427AE53031FEF38) - Master Microservice Architectures Using Spring Boot 2 and Cloud Based Deployments with Spring Cloud and Docker * [Reactive Programming with Spring Framework 5](https://www.udemy.com/reactive-programming-with-spring-framework-5/?couponCode=GITHUB_REPO_SF5B2G) - Keep your skills razor sharp and take a deep dive into Reactive Programming! * [Testing Spring Boot: Beginner to Guru](https://www.udemy.com/testing-spring-boot-beginner-to-guru/?couponCode=GITHUB_REPO_SF5B2G) - ** Best Selling Course** Become an expert in testing Java and Spring Applications with JUnit 5, Mockito and much more! @@ -41,12 +41,8 @@ Got a question about your Spring Framework 5 course? [Checkout these FAQs!](http * [Ready for Production with Spring Boot Actuator](https://www.udemy.com/ready-for-production-with-spring-boot-actuator/?couponCode=GITHUB_REPO_SF5B2G) - Learn how to leverage Spring Boot Actuator to monitor your applications running in production. ### Web Development with Spring Framework -* [Angular 4 Java Developers](https://www.udemy.com/angular-4-java-developers/?couponCode=GITHUB_REPO_SF5B2G) - Learn how to use Angular with Spring Boot. Two flaming hot technologies! This is the only course on Udemy where you can learn how to use JHipster to rapidly build your next application! Also, be sure to checkout the Slack community for this course! * [Mastering Thymeleaf with Spring Boot](https://www.udemy.com/mastering-thymeleaf-with-spring/?couponCode=GITHUB_REPO_SF5B2G) - Once you learn Thymeleaf, you'll never want to go back to using JSPs for web development! -### Spring Framework 4 -* [Spring Core](https://www.udemy.com/spring-core/) - Learn the core of Spring Framework 4! -* [Spring Core Advanced](https://www.udemy.com/spring-core-advanced-beyond-the-basics/?couponCode=GITHUB_REPO_SF5B2G) - Go beyond the basics! Learn about Aspect Oriented Programming, Spring Security, using Spring Events, JMS and more! ## Connect with Spring Framework Guru * Spring Framework Guru [Blog](https://springframework.guru/)