diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..b7ef101 --- /dev/null +++ b/pom.xml @@ -0,0 +1,46 @@ + + 4.0.0 + cz.ssinfotech.pridbros + blog + 0.0.1-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 1.5.2.RELEASE + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-actuator + + + + com.h2database + h2 + runtime + + + + + 1.8 + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/src/main/java/cz/ssinfotech/pridbros/blog/Application.java b/src/main/java/cz/ssinfotech/pridbros/blog/Application.java new file mode 100644 index 0000000..39ad70f --- /dev/null +++ b/src/main/java/cz/ssinfotech/pridbros/blog/Application.java @@ -0,0 +1,17 @@ +package cz.ssinfotech.pridbros.blog; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.support.SpringBootServletInitializer; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; + +@EnableJpaRepositories +@ComponentScan +@SpringBootApplication +public class Application extends SpringBootServletInitializer { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } +} diff --git a/src/main/java/cz/ssinfotech/pridbros/blog/HelloController.java b/src/main/java/cz/ssinfotech/pridbros/blog/HelloController.java new file mode 100644 index 0000000..7cfbc6b --- /dev/null +++ b/src/main/java/cz/ssinfotech/pridbros/blog/HelloController.java @@ -0,0 +1,25 @@ +package cz.ssinfotech.pridbros.blog; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import cz.ssinfotech.pridbros.blog.domain.Article; +import cz.ssinfotech.pridbros.blog.repository.ArticleRepository; + +@RestController +public class HelloController { + + @Autowired + ArticleRepository articleRepository; + + @RequestMapping("/create") + public String create(@RequestParam("caption") String caption) { + Article article = new Article(); + article.setCaption(caption); + articleRepository.save(article); + return "Article was saved;"; + } + +} diff --git a/src/main/java/cz/ssinfotech/pridbros/blog/domain/Article.java b/src/main/java/cz/ssinfotech/pridbros/blog/domain/Article.java new file mode 100644 index 0000000..eebdc02 --- /dev/null +++ b/src/main/java/cz/ssinfotech/pridbros/blog/domain/Article.java @@ -0,0 +1,44 @@ +package cz.ssinfotech.pridbros.blog.domain; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +@Entity +@Table +public class Article { + @Id + @GeneratedValue + private Integer id; + private String caption; + private String body; + @ManyToOne + private Author autor; + + public String getCaption() { + return caption; + } + public void setCaption(String caption) { + this.caption = caption; + } + public String getBody() { + return body; + } + public void setBody(String body) { + this.body = body; + } + public Author getAutor() { + return autor; + } + public void setAutor(Author autor) { + this.autor = autor; + } + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } +} diff --git a/src/main/java/cz/ssinfotech/pridbros/blog/domain/Author.java b/src/main/java/cz/ssinfotech/pridbros/blog/domain/Author.java new file mode 100644 index 0000000..53f3627 --- /dev/null +++ b/src/main/java/cz/ssinfotech/pridbros/blog/domain/Author.java @@ -0,0 +1,47 @@ +package cz.ssinfotech.pridbros.blog.domain; + +import java.util.List; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.OneToMany; +import javax.persistence.Table; + +@Entity +@Table +public class Author { + + @Id + @GeneratedValue + private Integer id; + private String name; + private String email; + @OneToMany + private List
articles; + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public List
getArticles() { + return articles; + } + public void setArticles(List
articles) { + this.articles = articles; + } + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } +} diff --git a/src/main/java/cz/ssinfotech/pridbros/blog/repository/ArticleRepository.java b/src/main/java/cz/ssinfotech/pridbros/blog/repository/ArticleRepository.java new file mode 100644 index 0000000..090d58a --- /dev/null +++ b/src/main/java/cz/ssinfotech/pridbros/blog/repository/ArticleRepository.java @@ -0,0 +1,11 @@ +package cz.ssinfotech.pridbros.blog.repository; + +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +import cz.ssinfotech.pridbros.blog.domain.Article; + +@Repository +public interface ArticleRepository extends CrudRepository{ + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..675a64a --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,14 @@ +server: + port: 6080 +spring: + datasource: + driver-class-name: org.h2.Driver + url: jdbc:h2:mem:test;DB_CLOSE_ON_EXIT=FALSE + username: sa + password: + h2: + console: + enabled: true + jpa: + hibernate: + ddl-auto: create \ No newline at end of file