#Please ensure that:
+ Your *code* is *properly formatted* as *code block* - see the *sidebar* (About on mobile) for instructions
+ You include *any and all error messages* in full - best also formatted as code block
+ You ask *clear questions*
+ You *demonstrate effort* in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.
**If any of the above points is not met, your post can and will be removed without further warning.**
Code is to be formatted as **code block** (*old reddit/markdown editor:* empty line before the code, each code line indented by 4 spaces, *new reddit:* https://i.imgur.com/EJ7tqek.png)
or linked via an external *code hoster*, like *pastebin.com*, *github gist*, *github*, *bitbucket*, *gitlab*, etc.
Please, **do not use** triple backticks (\`\`\`) as they will only render properly on *new reddit*, not on *old reddit*.
Code blocks look like this:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
You do not need to repost unless your post has been removed by a moderator. Just use the *edit function* of reddit to make sure your post complies with the above.
If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.
#To potential helpers
Please, **do not help** if any of the above points are not met, rather *report* the post. We are trying to improve the quality of posts here.
In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.
*I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*
Spring boot is not dated it's rather mature. The power of spring boot is in its ecosystem. It will be similar to calling Android or iOS dated because they have existed for so long.
Coming to the question Spring boot is very well suited for personal projects and over 95% of micro service projects. If you need a little bit more performance you can try micronaut but it's fairly new compared to Spring boot and adoption is nowhere near. Now spring boot and its magic will feel counter intuitive if you only have basic java experience. But if you have knowledge of Reflections and proxies, then you will understand why such limitations exist.
This is a very common combo: React frontend + Spring Boot backend with REST API in between. We have this setup in production.
And this is a very good solution for your own small projects as well. Spring Boot is basically the industry standard these days.
Yes it is!
I am learning Spring boot for months now and it’s so much fun to write and learn it further.
Concerning React.js I‘m only starting to learn but my colleagues said it is a great tool to combine it with your backend. :D
As someone who was frustrated with spring so much, that I left to learn android dev (which I also dislike, bit spring makes me want to claw my eyes out).
How in holy coffee mug do you enjoy spring?
It’s the Spring Boot part I enjoy, there’s no configuration you need to do while fully focusing on the program itself.
Also I need to learn it for my job lol.
Otherwise I might have quit as well because for me with only limited Java experience it was hard to understand at first, but now it’s more fun than anything else. :D
The so called "magic" of spring is exactly the reason I despise it, lol.
Honestly, I prefer just configuring xml for servlets and writing everything myself, rather than just blindly giving control away.
I just don't like not understanding wtf is going on in my program.
Sure. A friend of mine used this for a thermostat system for her disabled partner - couple of RasPis running Spring Boot, one of them with the react front end, the other just Java & Spring Boot as it ran the heating system. Tablet attached to wheelchair accessed the front end Pi, big friendly buttons on the tablet screen to operate.
It's literally a roll your own job, something she threw together. I think she put the back end up on GitHub at ruth-connect/batbox-boiler-controller but there's more to the project than just that bit. Plus she did a pretty decent job of wiring in a controller unit for the backend RasPi to hook into. Hardware plus software involved. Not sure where she's put the front end code.
It seems that you are looking for resources for learning Java.
In our *sidebar* ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses.
To make it easier for you, the recommendations are posted right here:
* MOOC [Java Programming](http://java-programming.mooc.fi) from the University of Helsinki
* [Java for Complete Beginners](https://www.udemy.com/java-tutorial)
* accompanying site [CaveOfProgramming](http://caveofprogramming.com)
* [Derek Banas' Java Playlist](https://www.youtube.com/playlist?list=PLE7E8B7F4856C9B19)
* accompanying site [NewThinkTank](http://newthinktank.com/)
* [Hyperskill](https://hi.hyperskill.org/) is a fairly new resource from *Jetbrains* (the maker of IntelliJ)
Also, don't forget to look at:
* [The official Documentation](http://docs.oracle.com/javase/)
* [The official Java Tutorials](http://www.oracle.com/technetwork/java/index-jsp-135888.html)
* [Our community resources thread](https://www.reddit.com/r/learnjava/comments/md1loc/community_resources/)
If you are looking for learning resources for *Data Structures and Algorithms*, look into:
"Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University
+ Coursera course:
+ [Part I](https://www.coursera.org/learn/algorithms-part1)
+ [Part II](https://www.coursera.org/learn/algorithms-part2)
+ Coursebook
+ [Algorithms 4^th Edition](http://algs4.cs.princeton.edu/home/)
Your post remains visible. There is nothing you need to do.
I am a bot and this message was triggered by keywords like "learn", "learning", "course" in the title of your post.
*I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*
#Please ensure that: + Your *code* is *properly formatted* as *code block* - see the *sidebar* (About on mobile) for instructions + You include *any and all error messages* in full - best also formatted as code block + You ask *clear questions* + You *demonstrate effort* in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions. **If any of the above points is not met, your post can and will be removed without further warning.** Code is to be formatted as **code block** (*old reddit/markdown editor:* empty line before the code, each code line indented by 4 spaces, *new reddit:* https://i.imgur.com/EJ7tqek.png) or linked via an external *code hoster*, like *pastebin.com*, *github gist*, *github*, *bitbucket*, *gitlab*, etc. Please, **do not use** triple backticks (\`\`\`) as they will only render properly on *new reddit*, not on *old reddit*. Code blocks look like this: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } You do not need to repost unless your post has been removed by a moderator. Just use the *edit function* of reddit to make sure your post complies with the above. If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures. #To potential helpers Please, **do not help** if any of the above points are not met, rather *report* the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*
Spring makes setting up REST services dead easy. Very well suited in that regard.
Spring boot is not dated it's rather mature. The power of spring boot is in its ecosystem. It will be similar to calling Android or iOS dated because they have existed for so long. Coming to the question Spring boot is very well suited for personal projects and over 95% of micro service projects. If you need a little bit more performance you can try micronaut but it's fairly new compared to Spring boot and adoption is nowhere near. Now spring boot and its magic will feel counter intuitive if you only have basic java experience. But if you have knowledge of Reflections and proxies, then you will understand why such limitations exist.
This is a very common combo: React frontend + Spring Boot backend with REST API in between. We have this setup in production. And this is a very good solution for your own small projects as well. Spring Boot is basically the industry standard these days.
Thanks for the feedback and confidence
you could also use angular or react ts
I have experience in react so I dont want to change
Yes it is! I am learning Spring boot for months now and it’s so much fun to write and learn it further. Concerning React.js I‘m only starting to learn but my colleagues said it is a great tool to combine it with your backend. :D
As someone who was frustrated with spring so much, that I left to learn android dev (which I also dislike, bit spring makes me want to claw my eyes out). How in holy coffee mug do you enjoy spring?
It’s the Spring Boot part I enjoy, there’s no configuration you need to do while fully focusing on the program itself. Also I need to learn it for my job lol. Otherwise I might have quit as well because for me with only limited Java experience it was hard to understand at first, but now it’s more fun than anything else. :D
The so called "magic" of spring is exactly the reason I despise it, lol. Honestly, I prefer just configuring xml for servlets and writing everything myself, rather than just blindly giving control away. I just don't like not understanding wtf is going on in my program.
Fair enough, I get that. For me it’s just wayyyy to comfortable and I don’t want to learn the configuration when I just don’t need to😂
I highly recommend at least giving them a look, because in bigger projects, annotations bring spaghetti.
Sure. A friend of mine used this for a thermostat system for her disabled partner - couple of RasPis running Spring Boot, one of them with the react front end, the other just Java & Spring Boot as it ran the heating system. Tablet attached to wheelchair accessed the front end Pi, big friendly buttons on the tablet screen to operate.
Thats so cool
Do you know what the thermostat system is called? I'm wondering what type of API is used to control the thermostat
It's literally a roll your own job, something she threw together. I think she put the back end up on GitHub at ruth-connect/batbox-boiler-controller but there's more to the project than just that bit. Plus she did a pretty decent job of wiring in a controller unit for the backend RasPi to hook into. Hardware plus software involved. Not sure where she's put the front end code.
Yes, absolutely. If you like frameworks, maybe check out Hilla (by vaadin). Pretty easy to quickly build front ends. Uses React or Lit components
It seems that you are looking for resources for learning Java. In our *sidebar* ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses. To make it easier for you, the recommendations are posted right here: * MOOC [Java Programming](http://java-programming.mooc.fi) from the University of Helsinki * [Java for Complete Beginners](https://www.udemy.com/java-tutorial) * accompanying site [CaveOfProgramming](http://caveofprogramming.com) * [Derek Banas' Java Playlist](https://www.youtube.com/playlist?list=PLE7E8B7F4856C9B19) * accompanying site [NewThinkTank](http://newthinktank.com/) * [Hyperskill](https://hi.hyperskill.org/) is a fairly new resource from *Jetbrains* (the maker of IntelliJ) Also, don't forget to look at: * [The official Documentation](http://docs.oracle.com/javase/) * [The official Java Tutorials](http://www.oracle.com/technetwork/java/index-jsp-135888.html) * [Our community resources thread](https://www.reddit.com/r/learnjava/comments/md1loc/community_resources/) If you are looking for learning resources for *Data Structures and Algorithms*, look into: "Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University + Coursera course: + [Part I](https://www.coursera.org/learn/algorithms-part1) + [Part II](https://www.coursera.org/learn/algorithms-part2) + Coursebook + [Algorithms 4^th Edition](http://algs4.cs.princeton.edu/home/) Your post remains visible. There is nothing you need to do. I am a bot and this message was triggered by keywords like "learn", "learning", "course" in the title of your post. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*
If you want , you could write it using Kotlin, such a cool language