This time last year the website Spring Framework Guru did not exist. It was just an idea I had. I was listening to Trevor Page being interviewed on a podcast with John Lee Dumas in November of 2014 when I had the idea for this site. Trevor, if you’re reading this, yes, you totally inspired me down this path. And it was a new path for me. The goal of my path was to become an online instructor. With 20 something years of IT experience my new path has a lot of personal appeal to me. I feel like it’s time for me to give back to the community and help more junior developers learn new career skills.

Birth of Spring Framework Guru

I wanted to teach around the Spring Framework. For SEO it’s best to have your target search phrase in the domain name. At least that’s what the SEO “experts” seem to say. While searching on GoDaddy for available domain names, I found that springframework.guru was available. And I thought, that could be a fun brand! Boom. And that’s how Spring Framework Guru was born.

Branding of Spring Framework Guru

I wanted something fun for my brand. But, I suck as a graphic design artist. Its simply just not my forte. Yes, I can design and build a massively scalable website using the Spring Framework. But to design a logo?? Forget about it.

I chose to run a contest on 99 Designs for my brand logo. Running the contest was fun. I had great participation. And I love the creativity. I honestly started the contest having no idea what I was looking for. As the contest progressed, I told the designers what I liked and did not like. The designers took my feedback and made changes. Slowly, my brand image for Spring Framework Guru emerged.

After the contest, I’ve continued to work with the winning designer to build graphical content for my brand. She is awesome.

Spring Framework Guru logo

Hosting Spring Framework Guru

I’m using WordPress to host the main site of Spring Framework Guru. Yeah, I know, I’m a Spring Framework Guru and using WordPress. It’s just the best tool for the job. Sure, I could build my own CMS in Spring, but why reinvent the wheel? It was a time to market decision. I wanted to focus on building Spring Framework Guru, not developing a CMS in Spring.

But I wasn’t going to sell out and host on something like GoDaddy or BlueHost. These options might be cheaper, but I wanted full control of my server. As an old Unix/Linux dawg, I wanted my own server. I’m running a Linux AMI on Amazon AWS to host the Spring Framework Guru website. I’m a big fan of AWS, and enjoy having my own server to play with.

Growth of Spring Framework Guru

I launched the Spring Framework Guru website in January of 2015. That month, I had a total of 37 page views. A whole 37 page views for the entire month of January 2015. The last two months of 2015, I’ve had over 30,000 page views a month. Every day now, I’m getting more page views than I did for the month of March 2015. Growth in traffic really took off for the second half of 2015.

You can really see the month to month growth in this graphic.

spring framework guru monthly page views in 2015

Is 30,000 page views a month good for a blog? I honestly don’t know!! I’m still new to this shit! For a year old blog it seems great to me! And I feel there’s still huge upside potential! There are sites in the Spring Framework space that see 10 times amount of traffic I’m getting. So while I’m excited about the progress, I know there’s a lot of upside too.

Spring Framework Guru on Facebook

I started a Facebook page for Spring Framework Guru, which has gone from zero to over 2,100 likes. It’s been fun to see the engagement on Facebook pickup. If you haven’t yet, how about showing me some social media love on Facebook!

Spring Framework Guru on Google Plus

I only have 89 followers on Google Plus. I’m still figuring out how to leverage Google Plus.

Spring Framework Guru on Youtube

My Youtube channel has steadily been picking up. For the year, my videos have had over 11,000 views. I’ll definitely be putting more free content on Youtube.

Spring Framework Guru Students

People who are learning from me. The whole reason I started this website. Growth in this area has been the most impressive to me. In August, I relaunched my Introduction to Spring Course on Teachable. In 6 months I’ve gone from zero, to almost 1,300 students on Teachable. My students are from all over the world. Many are new, while some are seasoned developers. I’ve even had former colleagues enroll in my courses.

At the end of October 2015, I launched my first paid course on the Spring Framework. I’m very pleased with the traction my Spring Core course has been getting. The feedback from my students has been fantastic. I’ve honestly been moved by some of the feedback I’ve received. I’m making a difference in people’s lives.

Every day new students enroll in my Spring Framework courses. The Teachable platform shows me reports about enrollments and course activity. These metrics are all trending up. I have more students enrolling in my courses, and the students who are enrolling are completing more course sections. (I feel student activity completing course sections is a reflection of the quality of the course)

Reflecting on 2015

Looking back, it’s been a lot of work building Spring Framework Guru. (A lot of money too! LOL) I’ve learned a lot too.

I thought it was going to be easy. I’ll just create some blog posts, and record some videos. How hard can that be, right? Well, it’s a lot of work. Even my shorter blog posts are often the result of 4 hours of work. The longer posts can take 8-10 hours to complete. A simple 10 video, takes an hour or two.

I look back on some of my earlier content, and its awful. I admit it. I cringe looking at it. I’m learning. I still feel like a dork on video. As Dan explains, it’s not easy putting yourself out there!

But on the other hand, my more recent content, I’m happy with. Its getting better. I’m learning and improving.

Like any skill, whether it’s learning about the Spring Framework, programming in Java, or teaching about the Spring Framework. These are all skills. You’re going to make mistakes. It’s all part of the learning process. Skills aren’t bought at the store, they’re developed.

As I develop courses, I learn a lot too. For example, I’m wrapping up a module on Spring Security for my Spring Core course. I’ve used Spring Security a number of times in the past. I’m no stranger to it. But, it’s been a year or so since I worked with Spring Security in a pure Spring MVC application. I had research to do freshen up my skills on Spring Security.

What I’ve learned in 2015 extends far beyond the Spring Framework. I’m trying to be a better online instructor. So I’ve been listening to a variety of podcasts for online instructors. For example in my videos, you’ll see a Blue Yeti microphone. I use that because the mic on the MBP sucks in comparison. I assure you, I didn’t know I needed a Blue Yeti a year ago.

Internet marketing? A year ago I didn’t know squat about Internet marketing. (I’m not sure if I know much more now! LOL) But at least now I know the difference between a email campaign and a landing page!

So in reflection, I set out to develop online courses for the Spring Framework. At the time, I did not expect to be personally learning about Spring, nor the directions learning about online instructing have taken me. It may sound obvious now, but it wasn’t then.

Looking Ahead to 2016

I’m excited about 2016. I have a brand, a website, followers on social media channels, and email subscribers. So much of my time in 2015 was spent establishing my brand and building infrastructure, I wasn’t focused on building core content. For 2016, all that stuff is done. The ground work has been laid. And I can focus on building additional content around the Spring Framework.

I’m wrapping up my Spring Core course, which has been a tremendous amount of work. I have some really cool courses in mind too. I’m looking forward to getting to those. And of course, I’ll be creating plenty of free content too. If there’s something you need help with, please be sure to comment below! Maybe you’ll inspire a blog post!

0
Share
,

Spring Boot makes it extremely convenient for programmers to quickly develop Spring applications using an in-memory database, such as H2, HSQLDB, and Derby. These databases are lightweight, easy to use, and emulates other RDBMS with the help of JPA and Hibernate. Obviously, they don’t provide persistent storage; but they a fast way to test persistent functions of your Spring Boot application without going through the hassles of installing a database server. They are great to use during development when you need to populate your database once your application starts, test your persistent entity mappings, and remove any data when your application ends. To use the embedded databases, you don’t need any special configuration, not even any connection URL. If you are using Maven, you only specify the dependency of the database to use in the POM file. Spring Boot automatically sets up the in-memory database for your use when it finds the database on your classpath.

In-memory databases are useful in the early development stages in local environments, but they have lot’s of restrictions. As the development progresses, you would most probably require an RDBMS to develop and test your application before deploying it to use a production database server, such as Oracle, MySQL, or PostgreSQL.

Previously, I wrote about creating a web application using Spring Boot and also wrote about configuring Spring Boot to use MySQL for storing the application data. In this post, we will learn how to change Spring Boot from the default in-memory H2 to PostgreSQL, which is one of the most advanced open source database that you will frequently see in production use.

PostgreSQL

PostgreSQL Configuration

For this post, I’m using PostgreSQL running locally on my laptop. Let’s first start by creating a database for use with Spring Boot. You can do this by using the createdb command line tool. You can locate this tool in the bin folder of your PostgreSQL installation. To create a database named springbootdb open a command prompt/terminal window and run the following command.

PostgreSQL Dependency

To use PostgreSQL, you will need the proper database drivers. The required JARs are included in Central Repository of Maven. To include them in your project, you need to add the following dependency (for PostgreSQL 9.2 and later) to your Maven POM file with your specific version.

POM.xml

For PostgreSQL up to 9.1, you need to add the following dependency with your specific version.

POM.xml

Spring Boot Properties

Our example application is using the H2 database for development. Since H2 is on the classpath, Spring Boot will automatically provide us common sense defaults for the H2 datasource. But this is only if you do not specify another datasource. Thus, by simply providing properties for the PostgreSQL datasource we can override the H2 datasource.

application.properties

Since, the example web application is using JPA, we configured Hibernate for PostgreSQL in Line 5 to use the create-drop option. This tells Hibernate to recreate the database on startup. However, in testing or production databases, you will want to use the validate option.

Free Spring Tutorial
Check out my FREE Introduction to Spring Course!

Running Spring Boot with PostgreSQL

Once you are done with the preceding configuration, Spring Boot becomes ready for use with PostgreSQL. When you start the project now, the Spring Boot application will use PostgreSQL for the database.

4
Share