Spring Boot - Articles

spring-boot

Important:
https://www.dineshonjava.com/introduction-to-spring-boot-a-spring-boot-complete-guide/ - done reading, contains links to other relevant topics.

http://www.baeldung.com
https://www.blazemeter.com
https://springframework.guru/unit-testing-junit-part-3-hamcrest-matchers/

https://www.sitepoint.com/combining-spring-boot-and-jdbi - printed
https://github.com/suzel/spring-boot-quickstart-archetype
https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle
https://spring.io/guides/gs/serving-web-content/ - done reading
https://spring.io/guides/gs/accessing-data-jpa/ - done reading
https://spring.io/guides/gs/rest-hateoas
https://spring.io/understanding/REST
https://projects.spring.io/spring-hateoas
https://projects.spring.io/spring-data-jpa
https://spring.io/guides/gs/accessing-mongodb-data-rest
https://spring.io/guides/gs/accessing-neo4j-data-rest
https://spring.io/guides/gs/accessing-gemfire-data-rest
http://stateless.co/hal_specification.html
http://www.atteo.org/2011/12/12/Evo-Inflector.html - Spring Data REST also uses Evo Inflector to pluralize the name of the entity for groupings.
https://spring.io/understanding/HATEOAS
http://www.baeldung.com/spring-mvc-static-resources

https://www.mkyong.com/spring-boot/spring-boot-hello-world-example-jsp/ - done reading
https://howtodoinjava.com/spring/spring-boot/spring-boot-jsp-view-example/
http://www.springboottutorial.com/creating-web-application-with-spring-boot
https://hellokoding.com/spring-boot-hello-world-example-with-jsp/
http://javasampleapproach.com/spring-framework/how-to-start-with-jsp-page-and-static-resource-in-spring-boot
https://dzone.com/articles/creating-a-web-application-with-spring-boot
https://www.boraji.com/spring-boot-creating-web-application-using-spring-mvc
https://www.leveluplunch.com/java/tutorials/003-getting-started-with-spring-boot/
https://docs.spring.io/spring-data/data-commons/docs/1.6.1.RELEASE/reference/html/repositories.html

https://dzone.com/articles/spring-boot-server-sent-events-tutorial
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-simple
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-tomcat
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-batch
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-jpa
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-integration
https://spring.io/guides/gs/rest-service
https://spring.io/guides/gs/convert-jar-to-war

https://dzone.com/articles/building-microservice-using-spring-boot-and-secure
http://www.baeldung.com/spring-boot-starters
https://stormpath.com/blog/tutorial-crud-spring-boot-20-minutes
https://stormpath.com/blog/spring-boot-default-starters
https://javapointers.com/tutorial/simple-spring-boot-web-application-using-maven/
http://www.springboottutorial.com/creating-web-application-with-spring-boot
http://www.javainterviewpoint.com/spring-boot-hello-world-example-eclipse/
http://www.littlebigextra.com/how-to-create-a-spring-boot-mvc-microservice-with-docker/
https://maven-repository.com/artifact/org.springframework.boot/spring-boot-archetypes
https://fabric8.io/guide/index.html
https://stackoverflow.com/questions/33484363/how-do-i-create-a-spring-boot-starter-project-in-eclipse-that-is-properly-config
http://www.adeveloperdiary.com/java/spring-boot/create-spring-boot-application-step-step/
https://dzone.com/articles/spring-boot-server-sent-events-tutorial
https://dzone.com/articles/trampoline-start-and-stop-spring-boot-based-servic
http://stackoverflow.com/tags/spring-boot

https://dzone.com/articles/angular-and-spring-webflux?

https://spring.io/guides/gs/spring-boot/ - Building an Application with Spring Boot - done reading
https://spring.io/guides/gs/accessing-data-mysql/ - Accessing data with MySQL (using Hibernate, CrudRepository) - done reading
https://spring.io/guides/gs/maven - done reading
https://spring.io/guides/gs/rest-service - done reading

Minification:
https://www.michael-bull.com/blog/2015/09/29/deployment-ready-websites-with-spring-boot

Testing:
http://www.baeldung.com/spring-boot-testing - done reading
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html
https://spring.io/guides/gs/testing-web/ - done reading
https://g00glen00b.be/spring-boot-rest-assured/ - done reading
https://hackernoon.com/spring-boot-rest-tdd-from-scratch-15f13ed799e0
https://www.blazemeter.com/blog/spring-boot-rest-api-unit-testing-with-junit - done reading

Social:
https://springframework.guru/spring-boot-web-application-part-6-spring-security-with-dao-authentication-provider/
http://www.littlebigextra.com/spring-boot-oauth2-tutorial-for-authorizing-through-facebook-google-linkedin-and-twitter/
https://spring.io/guides/tutorials/spring-boot-oauth2/
https://www.ximedes.com/spring-social-facebook-tutorial/
https://www.petrikainulainen.net/spring-social-tutorial/
http://www.baeldung.com/facebook-authentication-with-spring-security-and-social
http://www.baeldung.com/spring-security-login
https://spring.io/guides/gs/accessing-facebook/
https://www.youtube.com/watch?v=UhFdIDtzIAU
https://www.ximedes.com/spring-social-facebook-tutorial/
https://github.com/naturalprogrammer/spring-boot-security-social-sample
https://github.com/brant-hwang/spring-boot-social-example
http://www.technicalkeeda.com/spring-tutorials/spring-social-facebook-integration-example
http://www.littlebigextra.com/spring-boot-oauth2-tutorial-for-authorizing-through-facebook-google-linkedin-and-twitter/
http://www.littlebigextra.com/access-google-data-using-spring-social/

Security:
https://spring.io/guides/gs/securing-web/ - done reading
http://spring.io/guides/tutorials/spring-boot-oauth2/ - done reading
https://medium.com/@nydiarra/secure-a-spring-boot-rest-api-with-json-web-token-reference-to-angular-integration-e57a25806c50
http://www.baeldung.com/facebook-authentication-with-spring-security-and-social
https://geowarin.github.io/social-login-with-spring.html
https://docs.spring.io/spring-social/docs/1.0.x/reference/html/signin.html
http://sunilkumarpblog.blogspot.com/2016/04/social-login-with-spring-security.html
https://www.petrikainulainen.net/programming/spring-framework/adding-social-sign-in-to-a-spring-mvc-web-application-configuration/
https://www.petrikainulainen.net/programming/spring-framework/adding-social-sign-in-to-a-spring-mvc-web-application-registration-and-login/
http://o7planning.org/en/10649/social-login-in-spring-mvc-with-spring-social-security - done reading
http://www.mkyong.com/tutorials/spring-security-tutorials/
http://callistaenterprise.se/blogg/teknik/2014/09/02/adding-social-login-to-a-website-using-spring-social/
https://spring.io/guides/topicals/spring-security-architecture/
https://spring.io/guides/tutorials/spring-security-and-angular-js/

Logging:
https://www.callicoder.com/spring-boot-log4j-2-example/ - done reading

Beanstalk:
https://pragmaticintegrator.wordpress.com/2016/07/12/run-your-spring-boot-application-on-aws-using-elastic-beanstalk/

A very convenient aspect of this hypermedia-driven interface is how you can discover all the RESTful endpoints using curl (or whatever REST client you are using). There is no need to exchange a formal contract or interface document with your customers.

Basic pom.xml file including Web, JPA, MySQL, and DevTool:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.khai</groupId>
    <artifactId>genericspringapp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>genericspringapp</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Static resources: Spring Boot will automatically serve static resources from the path /resources/static. By a generally accepted convention, you will typically put CSS files in /resources/static/css, Javascript files in /resources/static/js, and images in resources/static/images. You could name the directories after /resources/static/ whatever you wish, this is just a convention you will likely see used and it helps you organize the static resources.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License