spring boot的Bean,Controller以及Repository的创建

来源:互联网 发布:淘宝怎么搜爱奇艺会员 编辑:程序博客网 时间:2024/06/05 04:11
首先,创建一个Bean类
/**
* File Name: Person.java
* Date: 2016年3月14日下午3:33:06  
*/
importjava.io.Serializable;
importjava.util.Date;

importjavax.persistence.Column;
importjavax.persistence.Entity;
importjavax.persistence.GeneratedValue;
importjavax.persistence.GenerationType;
importjavax.persistence.Id;
importjavax.persistence.Table;
importjavax.persistence.Temporal;
importjavax.persistence.TemporalType;

/**
* ClassName: Person
* date: 2016年3月14日 下午3:33:06
* Description:
*
*@version 
*@sinceJDK 1.8
*/
@Entity
@Table(name ="person")
publicclassPersonimplementsSerializable {
      @Id
      @GeneratedValue(strategy = GenerationType.AUTO)
      @Column(name ="personid")
      privatelongpersonId;
      
      privateStringname;
      
      privateintage;
      
      privateStringidCard;
      
      @Temporal(TemporalType.TIMESTAMP)
      privateDatebirthday;
      
      privateStringnationality;

      publicDate getBirthday() {
            returnbirthday;
      }

      publicvoidsetBirthday(Datebirthday) {
            this.birthday=birthday;
      }

      publicString getNationality() {
            returnnationality;
      }

      publicvoidsetNationality(Stringnationality) {
            this.nationality=nationality;
      }

      publiclonggetPersonId() {
            returnpersonId;
      }

      publicvoidsetPersonId(longpersonId) {
            this.personId=personId;
      }

      publicString getName() {
            returnname;
      }

      publicvoidsetName(Stringname) {
            this.name=name;
      }

      publicintgetAge() {
            returnage;
      }

      publicvoidsetAge(intage) {
            this.age=age;
      }

      publicString getIdCard() {
            returnidCard;
      }

      publicvoidsetIdCard(StringidCard) {
            this.idCard=idCard;
      }
}
创建controller
/**
* File Name: PersonController.java
* Date: 2016年3月14日下午3:43:07
*/

importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.RequestParam;
importorg.springframework.web.bind.annotation.RestController;

/**
* ClassName: PersonController
* date: 2016年3月14日 下午3:43:07
* Description:
*
*@version 
*@sinceJDK 1.8
*/
@RestController
publicclassPersonController {
      
      @Autowired
      privatePersonHandlerpersonHandler;
      
      @RequestMapping(value ="/api/person/queryperson/", method = RequestMethod.POST)
      publicObject queryPerson(
                  @RequestParam(value ="nationality", required =true) Stringnationality
                  ){
            returnpersonHandler;
      }
}
创建handler
/**
* File Name: PersonHandler.java
* Date: 2016年3月14日下午3:49:01
*/
importjava.util.List;

importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Component;

importcom.google.gson.FieldNamingPolicy;
importcom.google.gson.Gson;
importcom.google.gson.GsonBuilder;
importcom.google.gson.JsonArray;
importcom.google.gson.JsonObject;
importcom.google.gson.JsonParser;
importcom.huifenqi.privilege.context.domain.Person;
importcom.huifenqi.privilege.dao.PersonRepository;
importcom.huifenqi.privilege.utils.GsonUtils;

/**
* ClassName: PersonHandler
* date: 2016年3月14日 下午3:49:01
* Description:
*
*@version 
*@sinceJDK 1.8
*/
@Component
publicclassPersonHandler {
      
      @Autowired
      privatePersonRepositorypersonRepository;
      
      publicObject queryPerson(Stringnationality){
            List<Person>persons=personRepository.findPersonByNationality(nationality);
            Gsoninstance=newGsonBuilder()
                  .serializeNulls()
                  .setDateFormat("yyyy-MM-dd HH:mm:ss")
                  .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
                  .create();
            JsonArrayjs=newJsonArray();
            for(Personperson:persons) {
                  Stringjson=instance.toJson(person);
                  JsonParserparser=newJsonParser();
                  JsonObjectresJo=parser.parse(json).getAsJsonObject();
                  js.add(resJo);
            }
            returnjs;        
      }
      
}
创建repository
/**
* File Name: PersonRepository.java 
* Date: 2016年3月14日下午4:01:21 
*/
importjava.util.List;

importorg.springframework.data.jpa.repository.Query;
importorg.springframework.data.repository.CrudRepository;
importorg.springframework.stereotype.Repository;

importcom.huifenqi.privilege.context.domain.Person;

/**
* ClassName: PersonRepository
* date: 2016年3月14日 下午4:01:21
* Description:
*@version 
*@sinceJDK 1.8
*/
@Repository
publicinterfacePersonRepositoryextendsCrudRepository<Person, Long> {
      
      @Query("select p from Person p where nationality=?1" )
      publicList<Person> findPersonByNationality(Stringnationality);
}
0 0