как выполнять грубые операции с использованием Springboot через модели, сервисы и контроллеры - PullRequest
0 голосов
/ 05 июня 2019

Я новичок в Spring Boot Framework. Согласно базовым знаниям, я знаю, что Spring Boot - это фреймворк, использующий архитектуру MVC. Может ли кто-нибудь предоставить мне пример кодирования того, как использовать модели, службы репозиториев и службы в этой структуре

Ответы [ 5 ]

0 голосов
/ 05 июня 2019

Это контроллер класса

package Controller;

import java.util.List;

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 com.example.demo.model.Person;
import com.example.demo.service.PersonService;

@RestController
public class PersonController {

@Autowired
private PersonService personService;

@RequestMapping("/create")
public String create(@RequestParam String fname,@RequestParam String lname,@RequestParam int age)
{
    Person p = personService.create(fname, lname, age);
    return p.toString();
}

@RequestMapping("/get")
public Person getPerson(@RequestParam String fname)
{
    return personService.getByFirstName(fname);
}

@RequestMapping("/getAll")
public List<Person> getAll()
{
    return personService.getAll();
}

@RequestMapping("/update")
public Person update(@RequestParam String fname,@RequestParam String lname,@RequestParam int age)
{
    Person p = personService.update(fname, lname, age);
    return p;
}

@RequestMapping("/delete")
public void deleteByName(@RequestParam String fname)
{
    personService.delete(fname);
}

@RequestMapping("/deleteAll")
public void deleteAll()
{
    personService.deleteAll();
}


}

это еще один пример

@CrossOrigin(origins = "*", allowedHeaders = "*")
@RestController
public class CourseTotalController {

@Autowired
CourseTotalRepository repository;

@Autowired
SubjectRepository SubRepository;

@RequestMapping(value = "/total/{id}", method = RequestMethod.GET)
public Courses calcTotal(@PathVariable("id") String id) {
    float total = 0;

    Optional<Courses> opt =  repository.findById(id);
    Courses modifiedCourse = opt.get();
    String [] Subjects = opt.get().getSubjects();   

    for(int i=0;i< Subjects.length;i++) {
        Optional<Subject> SubjectOpt =  SubRepository.findById(Subjects[i]);
        total = total + SubjectOpt.get().getAmount();
    }
    modifiedCourse.setTotal(total);

    return modifiedCourse;
}
}
0 голосов
/ 05 июня 2019

это будет ваш сервис

package com.example.demo.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.demo.model.Person;
import com.example.demo.repository.PersonRepository;

@Service
public class PersonService 
{

 @Autowired
 private PersonRepository personRepository;

 //create operation
 public Person create(String fname,String lname,int age) 
 {
    return personRepository.save(new Person(fname,lname,age));
 }

 //retriew Operation
 public List<Person> getAll()
 {
    return personRepository.findAll();
 }

 public Person getByFirstName(String fname)
 {
    return personRepository.findByFirstName(fname);
 }

 //update operation
 public Person update(String fname,String lname,int age)
 {
    Person p = personRepository.findByFirstName(fname);
    p.setFirstName(fname);
    p.setLastName(lname);
    p.setAge(age);
    return personRepository.save(p);
    //personRepository.delete(p);
  }

 //delete
 public void deleteAll()
 {
    personRepository.deleteAll();
 }

 public void delete(String fname)
 {
    Person p  = personRepository.findByFirstName(fname);
    personRepository.delete(p);
 }
}
0 голосов
/ 05 июня 2019

тогда ваш класс модели будет выглядеть примерно так

package com.example.demo.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document
public class Person {
@Id
String id;
String firstName;
String LastName;
int age;

public void Person(String fname,String lname,int age)
{
    this.firstName=fname;
    this.LastName=lname;
    this.age=age;
}

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return LastName;
}

public void setLastName(String lastName) {
    LastName = lastName;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}
public String toString()
{
    return "Person First Name: "+this.firstName+" "+this.LastName+"     
age:"+this.age;
}
}
0 голосов
/ 05 июня 2019

Это будет интерфейс вашего репозитория

package com.example.demo.repository;

import java.util.List;

import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

import com.example.demo.model.Person;


@Repository
public interface PersonRepository extends MongoRepository<Person,String>
{
   public Person findByFirstName(String fname);
   public List<Person> findByAge(int age);
}
0 голосов
/ 05 июня 2019

сначала вы должны соединиться с базой данных. Поместите приведенный ниже код в класс application.propperties

spring.data.mongodb.uri=mongodb://localhost:27017/test
...