Advertisement
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

Spring Boot Tutorial

  1. SPRING BOOT Naphachara Rattanwilai
  2. Agenda • Why using Spring Boot? • Spring Boot Providing • Run With Spring Boot • Using Rest Controller + Dojo • Using Data JPA • Using Spring Security • UsingTesting • Deploy onWeb Server • How to customize (Extension) • Using Properties File • UsingYAML
  3. Why using Spring Boot? • Easy to create stand alone application. • Less Configuration • Running as micro service. • Providing Many features • Thymeleaf • Spring Data JPA • Spring Security • Testing
  4. Spring Boot Providing • Spring-boot-starter • Spring-boot-starter-actuator • Spring-boot-starter-aop • Spring-boot-data-jpa • Spring-boot-starter-security • Spring-boot-starter-test • Spring-boot-starter-web • Spring-boot-starter-thymeleaf • Etc.
  5. Database Logging Template Engine Java Util Logging Logback Log4J Log4J2 Free Maker Thymeleaf Groovy Vlocity SpringCore 4.1.x SQL JDBC Data JPA No SQL Mongo DB NEO 4J Solr Elastic search Redis Gemfire SpringSecurity
  6. RunWith Spring Boot • Config Maven • Parent • Adding Dependency • Adding Properties • Java.version • Start-class <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.1.RELEASE</version> </parent> <properties> <java.version>1.7</java.version> <start-class>tutorial.spring4.StandAloneApp</start-class> </properties>
  7. @SpringBootApplicattion @Configuration @EnableConfiguration @ComponentScan
  8. Static Page • META-INF/resources • /resources/ • /static/ • /public/
  9. Lab 1 – Start Spring Boot • Running Spring Boot StandAlone
  10. Lab 2 – HelloWorld • Create RestController • CreateThymeleaf Page • Create Page • Calling Rest with Dojo
  11. Using Spring Data JPA • Adding Config on Maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>2.3.2</version> </dependency>
  12. Using Spring Data JPA (Cont.) • Adding Annotation • @EnableJpaRepositories
  13. Spring Data JPA Repositories • Create Interface • Extends CrudRepository
  14. Lab3 Create Page to Load Data • Config Spring Data JPA
  15. QueryDSL • Config Dependency <dependency> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-core</artifactId> <version>${querydsl.version}</version> </dependency> <dependency> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-apt</artifactId> <version>${querydsl.version}</version> </dependency> <dependency> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> <version>${querydsl.version}</version> </dependency>
  16. QueryDSL (Cont.) • Generate Meta Class <plugin> <groupId>com.mysema.maven</groupId> <artifactId>apt-maven-plugin</artifactId> <version>1.1.3</version> <executions> <execution> <goals> <goal>process</goal> </goals> <configuration> <outputDirectory>src/main/generated-sources</outputDirectory> <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor> </configuration> </execution> </executions> </plugin>
  17. QueryDSL (Cont.) • Extends QueryDslPredicateExecutor<T>
  18. Lab4 Search Page* • Customize Spring Data JPA • Using QueryDSL
  19. Using Spring Security • Adding Config Maven • Adding Annotation • @EnableWebMvcSecurity • Create Class extends WebSecurityConfigurerAdapter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
  20. Using Spring Security(2) • Adding Configure Method • protected void configure(HttpSecurity http) • protected void configure(AuthenticationManagerBuilder auth)
  21. Lab 5 – Basic Authentication • Create Login Page • Create Result Page • Create Logout Page
  22. Lab6 – AuthenticationWith Database • Checking User from Database
  23. Testing • Adding Config on Maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-testing</artifactId> </dependency>
  24. Lab 7 -Testing • Create UnitTesting for all classes
  25. Deploy onWeb Server • Adding • Extended SpringBootServletInitializer • Changing Maven to building war file
  26. Customize • Create application.properties • Customize
  27. Lab8 Deploy • Running Application on Web Server
  28. Q&A
  29. Thank you
Advertisement