첫째, 특성 SpringBoot 프레임 워크
1, SpringBoot2.0 특징
1) SpringBoot 봄이 어려운 약간 시작하는 좋은 유전자를 물려
기본 구성의 다양성을 제공하는 구성을 단순화) 2 프로젝트 구성 단순화
코딩 단순화 프로젝트를 단순화하기 위해 3) 내장 웹 컨테이너를
빠른 시작으로 웹을 개발하는 데 도움이됩니다 봄 부팅 선박, 봄 부팅에만 의존 치어 파일에서 선발 - 웹에 다음을 추가해야합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
4) 발전 추세
마이크로 서비스의 개발의 미래 추세는 프로젝트가 점차 마이크로 서비스가 직무의 작은 범위에 초점을 다른 팀을 가능하게하기 때문에, 마이크로 서비스 아키텍처의 전통 건축에서 이동 별도의 기술을 사용하는 것입니다, 더 안전하고 빈번한 배치.
둘째, SpringBoot 환경을 구축
1, 메이븐 프로젝트를 생성
코어에 따라 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
여기서 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