Thanks for making the config files required. Awesome change, along with the 'lowest' config entry winning. Two changes that make sense. Video was clearly spoken and easy to understand. Good pace! Thanks!
Great video. Thank you for the update. there is a typo in the description of the video "overview of the new features available in Spring Boot 2.3" it should be 2.4
Great video...easy to understand. Question: Most spring apps are packaged in a JAR and my team has many. But how would you make the application.properties or any properties external so when we deploy the jar to the target we can make changes for like running a certain profile in those configs. I see all the jars deployed have the property files inside the jar so you can't edit them for customization. Idea?
Hi, Spring Boot will resolve properties that are adjacent to the .jar, eg.: my.jar and application.properties, right next to each other. Also, you can provide configuration as environment variables, eg.: server.port would become SERVER_PORT. Also, you can use things like the Spring Cloud Config Server or Hashicorp Vault to store the configuration outside of the app.
Thanks fro the tips!. Really appreciated. My personal thoughts for the next release, and to compete with the new frameworks such as Quarkus or Micronaut, the performance is something that should be taken into consideration for the next releases. Hopefully technologies such as GraalVM can be used to increase startup performnaces a bit.
I'm not a fan of field injection (putting `@Autowired` on the field) as It's hard to test. I like constructor injection because I can just "new" up an object for testing. If there's only a single constructor, then you don't need to annotate it with `@Autowired`.
Ok, how do you validate form fields in spring boot 2.4.1? It is not working. I add javax.validation dependency. Then create model add custom validation annotations (@NotBlank etc). Bindingresult on controller... It is not working
If I want to upgrade to spring-boot 2.4 and spring cloud 2020. Now that spring-cloud-starter-netflix-hystrix has been removed from spring-cloud-netflix, How can I implement circuit breaker with openfeign.
Not sure why would someone NOT prefer yml over properties. Was working with properties file for 15 years and I find yml far more easy to work with than the former.
I guess each has its own. One thing I hate about properties file is the handling of multi-line values. List and maps are pretty much more organized in yml than in properties file.
It's arguably easier to work with -- if you have an IDE. But try performing a quick edit via the terminal and get the number of spaces wrong, or god forbid, introduce a tab! Much fun ensues. It does bring back fond memories of programming in Cobol/Fortran with column limits, so there's that I suppose.
I have a problem when I want to response an entity and this has many relationships the response entity returns all the relationships and this make slow the answer, is some way to return only the relationships that I want to include?
I am running into trouble while running the app after upgrading to .. springBootVersion = 2.5.1 springCloudVersion = 2020.0.3, looks like the libs org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.2.8.RELEASE org.springframework.cloud:spring-cloud-starter-netflix-zuul:2.2.8.RELEASE org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.2.8.RELEASE are not supported any more... Any help on which version I should use to be compatible with springboot 2.5.1 and cloud version 2020.*
Oh, F*** ! "#---" splits property file into multiple documents ??!?!!? - Noooooooooooooooooooooooooooooooo !!!!! Ghad NO ! Do you know how many people us hashtag and any number of dashes as visual cue for the property file
Why do you actually change all this things all the time? Do you realize how difficult it is for developers to track all this changes and to deal with multiple versions on the project? Plenty of confusion is created, the benefit is marginal. While it might be somewhat useful for those who live and breathe Spring, the majority of developers don't really care about features built on top of features bild on... let alone newcomers, God bless them, who just get distracted by all this fragmentation. Not only should the API be as simple as possible (which it's not) , but it should be consistent over time, you know that, right?
When you say "[the] API be as simple as possible" and "it should be consistent over time", what you're really asking is that the developers of the framework can never make any mistakes. You're asking for a perfect API first time and you're asking that the API never changes. You're also saying that new features should not be added because *you* don't need them. Unfortunately, we do make mistakes. Every developer I've ever met makes mistakes. Every design I've ever worked on needed to be refined. And with open source, the problem is even worse because we need to think about *all* our users, not just one individual. The IT landscape is also constantly shifting. Sure, some users want to deploy a WAR file to an appserver (and you can still do that), but a lot now want OCI images orchestrated by Kubernetes. We want to support new use-cases and, as much as possible, keep back-compatibility. We need to do all this, and offer issue support, and write docs, and record videos (like this one), and manage CI/releases, and give the software and source code away for free with the same budget and staffing restrictions as any team would have. If you're having problems with upgrades, there are a few things I'd recommend: 1) Don't use Spring Boot If Spring Boot is giving you marginal benefit, then don't use it! You can use Spring Framework directly which has a much longer support period, or you can write your own software. 2) Keep everything recent If it's hard to deal with multiple versions of the project, then try to keep all your projects on the same version. You can see supported version of Spring Boot on github.com/spring-projects/spring-boot/wiki/Supported-Versions. You don't even need to upgrade every 6 months, you can do annual upgrades and still stay on a supported version. 3) Help Everything we do is done in the open. You can help improve the release notes if you find a problem with them when upgrading. You can fix documentation issues. You can point out APIs that you find complex and hard to use. You can try milestones and let us know if something is making your upgrade difficult. 4) Buy support VMware sells support for Spring and Tanzu Labs (tanzu.vmware.com/labs) can partner with your company to help deliver your software. --- Developing software is hard! Developing Open Source and keeping a broad community of users happy is doubly hard! We're trying our best to balance the difficulty of upgrades against the benefits that they bring. All I can say is that I'm sorry the balance isn't quite right for you at the moment :(
Thanks for this "short" summary, Phil! The timestamps in the description helped a lot :)
Great , I just spending my night developing an app with spring boot and boy, this put a smile in my face
Best presentation I've seen, it's so refreshing! Congrats Phil!
Thanks for making the config files required. Awesome change, along with the 'lowest' config entry winning. Two changes that make sense.
Video was clearly spoken and easy to understand. Good pace! Thanks!
Many thanks, Phil! Now we need a "What's New in Spring Boot 2.5" :)
Excellent format, better than a conference presentation.
This is so good. Help me understand spring-boot a lot better. Thanks
Could do with increasing font size for next time please.
Thanks Phil, and the Spring Teams involved for keeping Spring on the cutting edge and relevant . It's a great time to be a Java Developer!
This was such a nice presentation Phil! Keep them coming!
This is a great video. Very informative and loved the flow of everything is ordered and explained.
Thanks! for this brief introduction to SpringBoot 2.4!
just loved how beautifully you explain too many new feature, without making bored for second.
Thank you so much ❤💕❤💕
Thank you. Beautiful stuff and so well presented.
Fantastic video! Easy to follow and very well explained. Well done.
Thanks Phil, nice content!
The Spring Jedi !
Calm and Equally Paced: )
You guys doing a great job, keep it up!
Great video again. Thank you for taking the time to make these! Impressive.
Awesome, thanks for video and handy timestamps!
Great video. Thank you for the update.
there is a typo in the description of the video "overview of the new features available in Spring Boot 2.3" it should be 2.4
Thanks. I've fixed it now.
awesome!
great explanations phillip
He is the legendary. Can't wait for his next awesome videos.
thank you for preparing this video. it was really helpful.
Great video...easy to understand. Question: Most spring apps are packaged in a JAR and my team has many. But how would you make the application.properties or any properties external so when we deploy the jar to the target we can make changes for like running a certain profile in those configs. I see all the jars deployed have the property files inside the jar so you can't edit them for customization. Idea?
Hi, Spring Boot will resolve properties that are adjacent to the .jar, eg.: my.jar and application.properties, right next to each other. Also, you can provide configuration as environment variables, eg.: server.port would become SERVER_PORT. Also, you can use things like the Spring Cloud Config Server or Hashicorp Vault to store the configuration outside of the app.
Thanks fro the tips!. Really appreciated. My personal thoughts for the next release, and to compete with the new frameworks such as Quarkus or Micronaut, the performance is something that should be taken into consideration for the next releases. Hopefully technologies such as GraalVM can be used to increase startup performnaces a bit.
Great video and explanation!
kudos for the subtitles, the voice has a bass tone and low i can't understand it clearly but the subtitles helped me
Thanks for the quick intro.
This is a great video, thanks for the update
Great explaination!
That's really usful. Thanks Phil
Please make a video about spring boot 2.5
Thanks a lot for the videos like that!
Quick question, why didn't he @Autowired the service instead of initializing in the constructor?
He doesn't wanted to create bean
I'm not a fan of field injection (putting `@Autowired` on the field) as It's hard to test. I like constructor injection because I can just "new" up an object for testing. If there's only a single constructor, then you don't need to annotate it with `@Autowired`.
field injection is not recommended. constructor injection is the best practice
TIL something .. I'm going to use constructor injection
And thanks for the reply @Phillip
Thanks for the video 👍
Great video, the text is too small, plz give us a zoom in next time:)
Thanks for overview
Audio too low. Other than that, thanks for the taking the time and explaining things well.
bruh ngl u got some mad genetics 👍
I love java, I love spring boot
Java forever !!
Ok, how do you validate form fields in spring boot 2.4.1? It is not working. I add javax.validation dependency. Then create model add custom validation annotations (@NotBlank etc). Bindingresult on controller... It is not working
I always said Java is usable C++.
Thank you very much
Wouldn't the Spring Boot Properties Migrator be better as a plugin than, when it only has te be used at certain times?
Thanks!
Why choose Maven though? Isn't it more of a legacy tool now?
No, it's being actively developed. It's true that XML might look old, but the tool is kicking.
Excellent!
Does build-image require docker daemon? What would be pros and cons using the spring boot maven plugin vs Jib plugin?
For the next video, please use a bigger font (so we can watch it from tablets) and a bit louder voice :)
Hello, what software do u use to record screen??
The screen share is very blurry to me. Difficult to read the code even on my monitor
I'm really annoyed with myself for not selecting a larger font. Try switching the "quality" setting (under the little gear icon) to 1080p
If I want to upgrade to spring-boot 2.4 and spring cloud 2020.
Now that spring-cloud-starter-netflix-hystrix has been removed from spring-cloud-netflix, How can I implement circuit breaker with openfeign.
Good stuff!
JLong supporter? :D
@@TheDrezir don’t know what does that mean
@@elijahgavrilov1686 Josh Long
Not sure why would someone NOT prefer yml over properties. Was working with properties file for 15 years and I find yml far more easy to work with than the former.
Ppl prefer what they know already
I find properties file more easy to use.
I guess each has its own. One thing I hate about properties file is the handling of multi-line values. List and maps are pretty much more organized in yml than in properties file.
It's arguably easier to work with -- if you have an IDE. But try performing a quick edit via the terminal and get the number of spaces wrong, or god forbid, introduce a tab! Much fun ensues. It does bring back fond memories of programming in Cobol/Fortran with column limits, so there's that I suppose.
I have a problem when I want to response an entity and this has many relationships the response entity returns all the relationships and this make slow the answer, is some way to return only the relationships that I want to include?
Why no create using Java 15?
Why there is no 2.5 video? No nice features to show?
Hi, Can we dokerize spring boot app without a docker file? Any maven plugin for that?
mvn spring-boot:build-image
Last part of the video was related to that
@@kaushikveluru925 Thanks!
pwd | pbcopy ...yay i learned a new command today
How you import quickly
Anyone tell me please
In Eclipse it's Ctrl+1 or Ctrl+F1 ?
I know there's an option to enable auto import as well.
Other IDEs are doing it automatically.
@@rodislav Thank you
Am I the only one, who saw the thumbnail thinking: "Why is Tom Hanks included in Spring Boot 2.4?... Gotta watch!"
#--- is not working in STS. Showing error "Duplicate property 'wait.for'".
Do you have latest STS ?
I am running into trouble while running the app after upgrading to ..
springBootVersion = 2.5.1
springCloudVersion = 2020.0.3, looks like the libs
org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.2.8.RELEASE org.springframework.cloud:spring-cloud-starter-netflix-zuul:2.2.8.RELEASE
org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.2.8.RELEASE
are not supported any more...
Any help on which version I should use to be compatible with springboot 2.5.1 and cloud version 2020.*
I would put more than one like if i can
Oh, F*** !
"#---" splits property file into multiple documents ??!?!!?
- Noooooooooooooooooooooooooooooooo !!!!! Ghad NO !
Do you know how many people us hashtag and any number of dashes as visual cue for the property file
is it just me or this looks like one of those deep fake videos?
版本更新的实在太快了,我表示学不动了😅
Why do you actually change all this things all the time? Do you realize how difficult it is for developers to track all this changes and to deal with multiple versions on the project? Plenty of confusion is created, the benefit is marginal. While it might be somewhat useful for those who live and breathe Spring, the majority of developers don't really care about features built on top of features bild on... let alone newcomers, God bless them, who just get distracted by all this fragmentation. Not only should the API be as simple as possible (which it's not) , but it should be consistent over time, you know that, right?
When you say "[the] API be as simple as possible" and "it should be consistent over time", what you're really asking is that the developers of the framework can never make any mistakes. You're asking for a perfect API first time and you're asking that the API never changes. You're also saying that new features should not be added because *you* don't need them. Unfortunately, we do make mistakes. Every developer I've ever met makes mistakes. Every design I've ever worked on needed to be refined. And with open source, the problem is even worse because we need to think about *all* our users, not just one individual.
The IT landscape is also constantly shifting. Sure, some users want to deploy a WAR file to an appserver (and you can still do that), but a lot now want OCI images orchestrated by Kubernetes. We want to support new use-cases and, as much as possible, keep back-compatibility. We need to do all this, and offer issue support, and write docs, and record videos (like this one), and manage CI/releases, and give the software and source code away for free with the same budget and staffing restrictions as any team would have.
If you're having problems with upgrades, there are a few things I'd recommend:
1) Don't use Spring Boot
If Spring Boot is giving you marginal benefit, then don't use it! You can use Spring Framework directly which has a much longer support period, or you can write your own software.
2) Keep everything recent
If it's hard to deal with multiple versions of the project, then try to keep all your projects on the same version. You can see supported version of Spring Boot on github.com/spring-projects/spring-boot/wiki/Supported-Versions. You don't even need to upgrade every 6 months, you can do annual upgrades and still stay on a supported version.
3) Help
Everything we do is done in the open. You can help improve the release notes if you find a problem with them when upgrading. You can fix documentation issues. You can point out APIs that you find complex and hard to use. You can try milestones and let us know if something is making your upgrade difficult.
4) Buy support
VMware sells support for Spring and Tanzu Labs (tanzu.vmware.com/labs) can partner with your company to help deliver your software.
---
Developing software is hard! Developing Open Source and keeping a broad community of users happy is doubly hard! We're trying our best to balance the difficulty of upgrades against the benefits that they bring. All I can say is that I'm sorry the balance isn't quite right for you at the moment :(
@@phillipwebb9230 ok, thanks for your explanation.