SpringBoot2.0 기본 케이스 (01) : 편안한 환경을 구축하고 스타일의 인터페이스

첫째, 특성 SpringBoot 프레임 워크

1, SpringBoot2.0 특징

1) SpringBoot 봄이 어려운 약간 시작하는 좋은 유전자를 물려
기본 구성의 다양성을 제공하는 구성을 단순화) 2 프로젝트 구성 단순화
코딩 단순화 프로젝트를 단순화하기 위해 3) 내장 웹 컨테이너를
빠른 시작으로 웹을 개발하는 데 도움이됩니다 봄 부팅 선박, 봄 부팅에만 의존 치어 파일에서 선발 - 웹에 다음을 추가해야합니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

4) 발전 추세
마이크로 서비스의 개발의 미래 추세는 프로젝트가 점차 마이크로 서비스가 직무의 작은 범위에 초점을 다른 팀을 가능하게하기 때문에, 마이크로 서비스 아키텍처의 전통 건축에서 이동 별도의 기술을 사용하는 것입니다, 더 안전하고 빈번한 배치.

둘째, SpringBoot 환경을 구축

1, 메이븐 프로젝트를 생성

SpringBoot2.0 기본 케이스 (01) : 편안한 환경을 구축하고 스타일의 인터페이스

코어에 따라 2,

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

3, 구성 파일을 작성

application.yml

# 端口
server:
  port: 8001

4, 시작 파일 노트

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloApplication {
    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class,args) ;
    }
}

그리고 문제는, 그래서,이 클래스 위의 시작 더 나은 환경 구축의 기초를 springboot 수 없습니다.
구축 할 수있는 스프링 프레임 워크, 즉이 느낌이 아닌 전에 환경에 대해 생각해 감각을 그것에 대해.

세, SpringBoot2.0 여러 경우 항목

1, 웹 인터페이스를 만들

import com.boot.hello.entity.ProjectInfo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * SpringBoot 2.0 第一个程序
 */
@RestController
public class HelloController {
    @RequestMapping("/getInfo")
    public ProjectInfo getInfo (){
        ProjectInfo info = new ProjectInfo() ;
        info.setTitle("SpringBoot 2.0 基础教程");
        info.setDate("2019-06-05");
        info.setAuthor("知了一笑");
        return info ;
    }
}

@RestController 주석 @Controller +는 JSON 해당 형식의 데이터를 반환 @ResponseBody.

2, 매개 변수 매핑

1) 먼저, 환경을 구별하는 방법을 살펴 SpringBoot
SpringBoot2.0 기본 케이스 (01) : 편안한 환경을 구축하고 스타일의 인터페이스

여기서 ID는 지정된 구성 파일을로드하도록 구성되어 있습니다.

2) 파라미터 설정
애플리케이션 pro.yml

user:
  author: 知了一笑
  title: SpringBoot 2.0 程序开发
  time: 2019-07-05

3) 파라미터의 콘텐츠를 읽고

@Component
public class ParamConfig {
    @Value("${user.author}")
    private String author ;
    @Value("${user.title}")
    private String title ;
    @Value("${user.time}")
    private String time ;
    // 省略 get 和 set 方法
}

4) 호출

/**
 * 环境配置,参数绑定
 */
@RestController
public class ParamController {

    @Resource
    private ParamConfig paramConfig ;

    @RequestMapping("/getParam")
    public String getParam (){
        return "["+paramConfig.getAuthor()+";"+
                paramConfig.getTitle()+";"+
                paramConfig.getTime()+"]" ;
    }
}

3, 편안한 스타일의 인터페이스 및 테스트

1) 나머지 스타일 인터페이스

/**
 * Rest 风格接口测试
 */
@RestController // 等价 @Controller + @ResponseBody 返回Json格式数据
@RequestMapping("rest")
public class RestApiController {
    private static final Logger LOG = LoggerFactory.getLogger(RestApiController.class) ;
    /**
     * 保存
     */
    @RequestMapping(value = "/insert",method = RequestMethod.POST)
    public String insert (UserInfo userInfo){
        LOG.info("===>>"+userInfo);
        return "success" ;
    }
    /**
     * 查询
     */
    @RequestMapping(value = "/select/{id}",method = RequestMethod.GET)
    public String select (@PathVariable Integer id){
        LOG.info("===>>"+id);
        return "success" ;
    }
}

2) 테스트 코드

@RunWith(SpringJUnit4Cla***unner.class)
@SpringBootTest(classes = MockServletContext.class)
@WebAppConfiguration
public class TestRestApi {

    private MockMvc mvc;
    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new RestApiController()).build();
    }

    /**
     * 测试保存接口
     */
    @Test
    public void testInsert () throws Exception {
        RequestBuilder request = null;
        request = post("/rest/insert/")
                .param("id", "1")
                .param("name", "测试大师")
                .param("age", "20");
        mvc.perform(request)
                .andExpect(content().string(equalTo("success")));
    }

    /**
     * 测试查询接口
     */
    @Test
    public void testSelect () throws Exception {
        RequestBuilder request = null;
        request = get("/rest/select/1");
        mvc.perform(request)
                .andExpect(content().string(equalTo("success")));
    }
}

이러한 SpringBoot2.0 항목의 경우는 이상, 간단하고 우아한 스타일입니다.

넷째, 소스 코드

51CTO

GitHub地址:知了一笑
https://github.com/cicadasmile
码云地址:知了一笑
https://gitee.com/cicadasmile

SpringBoot2.0 기본 케이스 (01) : 편안한 환경을 구축하고 스타일의 인터페이스
SpringBoot2.0 기본 케이스 (01) : 편안한 환경을 구축하고 스타일의 인터페이스

추천

출처blog.51cto.com/14439672/2427531