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

首先,创建一个Bean类
/**
* File Name: Person.java
* Date: 2016年3月14日下午3:33:06  
*/
import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
* ClassName: Person
* date: 2016年3月14日 下午3:33:06
* Description:
*
* @version  
* @since JDK 1.8
*/
@Entity
@Table (name = "person" )
public class Person implements Serializable {
       @Id
       @GeneratedValue (strategy = GenerationType. AUTO )
       @Column (name = "personid" )
       private long personId ;
      
       private String name ;
      
       private int age ;
      
       private String idCard ;
      
       @Temporal (TemporalType. TIMESTAMP )
       private Date birthday ;
      
       private String nationality ;

       public Date getBirthday() {
             return birthday ;
      }

       public void setBirthday(Date birthday ) {
             this . birthday = birthday ;
      }

       public String getNationality() {
             return nationality ;
      }

       public void setNationality(String nationality ) {
             this . nationality = nationality ;
      }

       public long getPersonId() {
             return personId ;
      }

       public void setPersonId( long personId ) {
             this . personId = personId ;
      }

       public String getName() {
             return name ;
      }

       public void setName(String name ) {
             this . name = name ;
      }

       public int getAge() {
             return age ;
      }

       public void setAge( int age ) {
             this . age = age ;
      }

       public String getIdCard() {
             return idCard ;
      }

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

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

/**
* ClassName: PersonController
* date: 2016年3月14日 下午3:43:07
* Description:
*
* @version  
* @since JDK 1.8
*/
@RestController
public class PersonController {
      
       @Autowired
       private PersonHandler personHandler ;
      
       @RequestMapping (value = "/api/person/queryperson/" , method = RequestMethod. POST )
       public Object queryPerson(
                   @RequestParam (value = "nationality" , required = true ) String nationality
                  ){
             return personHandler ;
      }
}
创建handler
/**
* File Name: PersonHandler.java
* Date: 2016年3月14日下午3:49:01
*/
import java.util.List;

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

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

/**
* ClassName: PersonHandler
* date: 2016年3月14日 下午3:49:01
* Description:
*
* @version  
* @since JDK 1.8
*/
@Component
public class PersonHandler {
      
       @Autowired
       private PersonRepository personRepository ;
      
       public Object queryPerson(String nationality ){
            List<Person> persons = personRepository .findPersonByNationality( nationality );
            Gson instance = new GsonBuilder()
                  .serializeNulls()
                  .setDateFormat( "yyyy-MM-dd HH:mm:ss" )
                  .setFieldNamingPolicy(FieldNamingPolicy. LOWER_CASE_WITH_UNDERSCORES )
                  .create();
            JsonArray js = new JsonArray();
             for (Person person : persons ) {
                  String json = instance .toJson( person );
                  JsonParser parser = new JsonParser();
                  JsonObject resJo = parser .parse( json ).getAsJsonObject();
                   js .add( resJo );
            }
             return js ;        
      }
      
}
创建repository
/**
* File Name: PersonRepository.java 
* Date: 2016年3月14日下午4:01:21 
*/
import java.util.List;

import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import com.huifenqi.privilege.context.domain.Person;

/**
* ClassName: PersonRepository
* date: 2016年3月14日 下午4:01:21
* Description:
* @version  
* @since JDK 1.8
*/
@Repository
public interface PersonRepository extends CrudRepository<Person, Long> {
      
       @Query ( "select p from Person p where nationality=?1" )
       public List<Person> findPersonByNationality(String nationality );
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值