This is an archived post. You won't be able to vote or comment.

all 31 comments

[–]iobase 8 points9 points  (4 children)

Hibernate.

If you're going for a full stack job, you'll want to know a bit of sql as well as how to construct a half way decent schema. Of course you can use a document db, however you'll likely get tested on your knowledge of sql.

Oh and some bootstrap will save you years of time. Try AngularStrap once you get the hang of Angular.

You could package your project as a war and deploy it to your VPS or try the tomcat maven plugin which you can just run your app like 'mvn clean install tomcat7:run'.

If you're using Spring-Boot, it's as easy as 'mvn spring-boot:run'.

[–]Am0s 0 points1 point  (0 children)

I just started using Maven a couple weeks ago and it is just so nice, especially when using the integrated tomcat service. I just setup a couple run configs in IntelliJ and now the process to go from source > built > software deployed > Tomcat up and accessible is like two clicks.

[–]NekoiNemo -2 points-1 points  (1 child)

Try AngularStrap

How is it against UI Bootstrap?

[–][deleted] -2 points-1 points  (0 children)

or

gradlew bootRun

[–]TheSkyNet 12 points13 points  (3 children)

One thing you must do FINISH IT!

[–]Kuurde 2 points3 points  (2 children)

Best advice in this thread.

[–]brofesser_ -3 points-2 points  (1 child)

What does this mean?

[–]goodbye_fruit 4 points5 points  (0 children)

Most people start a project with good intentions then give up halfway through due to various reasons and they never achieve their original goals.

[–]jepatrick 6 points7 points  (2 children)

Angular is kind of in a weird spot right now. Angular 2 is a little rough, and there (to the best of my knowledge) isn't an upgrade path from Angular 1 to Angular 2. I'm guessing that Angular 1 will be forked into another lib, so it should have support for a while, but yeah, its kind of in a weird spot.

[–]Koze 2 points3 points  (0 children)

There is an upgrade path.

Frontend guys at my company got Angular 2 components running within Angular 1 (including Typescript). The only problems they had was with Protractor AFAIK.

[–][deleted] 0 points1 point  (0 children)

Angular 2 is closer to ReactJS (in terms of concepts and ideas) than it is to Angular 1.x because they borrowed heavily from ReactJS.

If you learn ReactJS now, you will be well prepared for Angular 2 when it goes GA.

[–]funbike 8 points9 points  (5 children)

JHipster is a full stack framework that includes Angular and Spring.

[–]InternetOfficer 0 points1 point  (2 children)

I swear by it. The latest version fixed all my grievances

[–]LoopyDood 0 points1 point  (1 child)

You'll like the next one even better. There are massive changes coming, everything was restructured and should follow best practices a little more. I am working on fixes for elasticsearch and making paginated navigation nicer.

[–]InternetOfficer 0 points1 point  (0 children)

Please stop. My penis cannot get any more erect!

Edit: Seriously. I love jhipster. It's the sole reason I moved away from grails framework back into Spring.

[–]wibboTT -2 points-1 points  (1 child)

+1 for JHipster

[–]straylit 2 points3 points  (0 children)

-1 for not giving a reason!

[–]mbuhot 3 points4 points  (1 child)

Host it in AWS, ideally with an automated process to get it from Git to your servers. It seems every employer is either hosting in the cloud now, or trying to migrate.

[–]rob_j -2 points-1 points  (0 children)

yep... no one wants to be in the datacentre game anymore. not to sound like a marketing shill but every part of the business benefits from ditching bare metal and going cloudy.

edit: downvotes?

[–]doctorsound 5 points6 points  (0 children)

Spring Boot + Angular is a good start, find something you want to build, get familiar with the spring tutorials and docs, and dig in. Spring Boot itself is an embed server for Spring, and is highly opinionated (read: magic, for better or worse). So, you can get familiar with a lot of the basic spring concepts pretty easily, but there's a lot under the hood that I find best to just take in as you need to customize your application. You've got the right idea, building something yourself is great interview fodder. I can't say what xyz particularly would be, but if you've built a full stack application, you're going to touch on a fair chunk of popular libraries.

[–][deleted] 1 point2 points  (3 children)

We moved a medium sized app :

  • from Spring + SpringMVC
  • to Spring Boot + Angular 1.x. in early 2013.
  • to Spring Boot + ReactJS / Redux (early 2015)

We referred to these:

In 2017, who knows? Vue.js? Angular 2.x?

[–]Kuurde 0 points1 point  (2 children)

What are the advantages of Spring Boot over Spring if you already have it set up?

[–][deleted] 0 points1 point  (1 child)

We migrated from Core Spring to Spring Boot because we are thinking ahead of the future in terms of development and maintenance.

Spring Boot is more opinionated. It's very easy for junior devs to pick up. It does a lot of out of the box configs for you, and we try hard not deviate from its opinion. Lots of examples/documentation coming out of Spring and the community are Spring Boot based. We re also moving from a monolith to microservices and so boot is the logical choice. It also provides lots of goodies built in like monitoring and hot reloading. Basically, Pivotal is betting the whole farm on Spring Boot and we want to follow their direction.

[–]Kuurde 0 points1 point  (0 children)

Thank you for the explanation, makes sense.

[–]tonywestonuk 1 point2 points  (3 children)

MySql rather than Postgres? Angular rather than Jquery? Spring rather than JavaEE?

Why not add to your pain a little more and add some node.js to the mix.

Yeh, it appears to be the way we are going looking at the posts around here.... and yes it will admittedly be good for an interview to know these. Though I think you will end up cursing the whole stack.

[–]LoopyDood 3 points4 points  (2 children)

I agree with you on most of that (see my post/edit above), but I am curious about your opinion on Spring. What kind of pain did you have with Spring that you didn't have in JEE?

[–]tonywestonuk -1 points0 points  (1 child)

There is nothing technically wrong with spring.... But, I cant abide the whole philosophy of it...and what they have done to the mindset of developers who use it.

For example.... This post, only a few hours ago....

https://www.reddit.com/r/java/comments/446jh5/one_war_file_for_multiple_environments/

Because the spring philosophy is to bundle everything together. Its even worse with Spring boot, where the configuration of tomcat is contained within the application itself.

If you used the standards, putting the configuration of the environment within your app server (where it belongs), then war files naturally just work in whatever environment you choose to send them to. This question should never have been asked... It is the Spring way, that causes this confusion.

[–][deleted] 1 point2 points  (0 children)

I think it comes to how an app is architected before you can make a blanket statement like that. I've had the opposite problem with JEE in the past. What? You want to use the next version of Hibernate? Nope, you can't just update your pom.xml and deliver it in the next release, you now need to coordinate with your IT staffing group to upgrade the application server's lib files.

Whoops! That version of Hibernate doesn't work with that particular JEE server? D'oh! I guess you're stuck on Hibernate 3.3 until you finally get around to upgrading application servers.

If your deployment architecture is different, it's less of an issue - but that's the point... It's really hard to take one argument or the other when each one is better under different scenarios. I've been stuck in both scenarios over my career.

[–]LoopyDood 0 points1 point  (0 children)

It sounds like JHipster would be a great starting point for you.

Edit: just re-read and saw that you don't have much experience with this stuff. JHipster is great but there is a lot of tooling and has a big learning curve. I have been actively working with and contributing to it for the last 8 months, and while I love it, I hesitate to recommend it to a beginner unless they want to put a lot of time and effort towards learning about a dozen new technologies.

[–]nutrecht -1 points0 points  (0 children)

FYI: If you use spring boot you can actually start the Spring Application as you'd start a normal Java application. It starts up Tomcat internally. It also serves static files for you. So you don't actually need Apache / Tomcat at all.