![]() ![]() > Under some circumstances, some data sources may change dynamically. If the same property is defined in multiple ConfigSources, we apply a policy to specify which one of the values will effectively be used. We call these config locations ConfigSources. system properties, system environment variables. > The configuration data can come from different locations and in different formats (e.g. It must be possible to modify configuration data from outside an application so that the application itself does not need to be repackaged. > The majority of applications need to be configured based on a running environment. The following is an excerpt from the MicroProfile Config standard which SmallRye Config is an implementation of: I like SmallRye Config and I feel it's designed this way because of the problems it tries to solve. I see Java developers complain about stack traces that are 50+ function calls deep with half the functions in the stack named ".invoke()" or ".run()", and all I can think is how those wounds are self-inflicted. If you have an object that consists of only a constructor and a single function, and is merely instantiated, called once, and then thrown away, why is this its own object? So often, code is peppered with "MyHandler handler = new MyHandler() handler.invoke(.) ". Like.one of the patterns that I absolutely despise is the "Handler". However, I'll confess that I'm naive, as I've never had to build anything larger than about 1,000 lines. But Java paradigms are fucking awful, and I don't understand why people use them. This is something I've been saying for years. The paradigms, VMs, IDEs, patterns and practices etc etc. But, like with many other programming languages out there, you can't really dissociate the language from the environment and everything that goes with it. > I have never had significant problems with Java-the-language. > Reading these comments, it's strange to see that the "Java" paradigm/context issue still exists after all these years. IMO, I think it's usually far more productive to try to understand the discussion in context than to veer off into irrelevant semantic issues or tangential anecdotes. Those are all fair points, but more often than not, they have little-to-nothing to do with current discussion. Or that there is no proper Forms support on XYZ-os. Or how Visual Studio is slow and a massive memory hog. ![]() For every person who waxes lyrical about the joy of working with C# (for example), there are 3 more that will tell you anecdotes about "assembly hell". The paradigms, VMs, IDEs, patterns and practices etc etc.Īnd for the record it's not just Java (it just seems to be more pronounced in the Java-development ecosystem). I have never had significant problems with Java-the-language. Reading these comments, it's strange to see that the "Java" paradigm/context issue still exists after all these years. I honestly believe that the vast majority of people's Java knowledge on Reddit and HN comes from ignorant comments that have been in a self-reinforcing recursive loop for years. However, they can't grasp get it in this context. Reddit and HN are able to grasp that pattern just fine when they are slamming Microsoft. ![]() The story of Spring's relationship to Java EE is the classic "embrace, extend, extinguish". However, while it CAN interact with all of those Java EE API's, it doesn't NOT "depend" on them! Spring has extensions that allow it to interface with nearly anything in the Java ecosystem (and its DI container makes it easy to write an integration to anything new). Hibernate won the ORM wars back in the day, and so the Hibernate folks were allowed to write the JPA spec, making it near-identical to the existing Hibernate API. Even JPA itself didn't come out of the "Java EE" world. And that is totally optional, with a handful of newer ORM frameworks seriously eating into its market share. Of that list, a typical Spring Boot application in the wild miiiiiiight use JPA. The most important Java EE specifications (now "Jakarta EE", as "Java EE" hasn't existed for years), are: CDI, EJB, JPA, JTA, JMS, JAX-WS, JAX-RS, JSTL, JSP, and JavaMail. It really is, "Tell me that you know little about Java beyond forum comments that you've read, without telling me that you know little about Java beyond forum comments that you've read". ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |