【框架搭建】spring boot入门
来源:互联网 发布:minitab软件 编辑:程序博客网 时间:2024/06/06 02:11
spring boot demo 搭建
项目搭建
- 创建pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
- 创建入口类
@SpringBootApplication@RestControllerpublic class Application { public static void main(String[] args){ SpringApplication.run(Application.class, args); } @RequestMapping("/") @ResponseBody public String hello(){ return "hello world"; }}
建立Application.java类,Sprin Boot推荐这个类是放在项目代码根目录下的。
Application.java类是一个有main方法的java类,通过运行这个类就可以启动我们的项目了(spring boot的spring-boot-start-web模块内嵌了tomcat容器)。
解释:入口类之中出现的4个注解名词 :@SpringBootApplication这个注解是为了方便我们启动spring-boot应用 spring-boot再次封装的注解,里面包含了其他的注解在一起(@SpringBootApplication注解等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan),详细可以参考如下文章: http://www.jianshu.com/p/ed141c5f906d
@RestController这里使用RestController对这个controller类进行注解,RestController是一个混合注解,混合了@Controller和@ResponseBody,因此整个类会被认为是一个控制器类,并且会直接将对应方法的内容返回给页面。@RequestMapping("/")使用@RequestMapping来进行url和方法的绑定。其中value指定了要绑定的URL。这里value的值填写为“/”说明对整个网站的根路径“/”进行绑定。@ResponseBody表示返回的是字符串内容渲染在页面之中
单元测试
- 创建一个UserController
@Api(value = "用户相关接口")@RestController@RequestMapping(value = "/users")public class UserController { static Map<Long ,User> users = Collections.synchronizedMap(new HashMap<Long ,User>()); @ApiOperation(value = "获取用户列表", notes = "") @RequestMapping(value = "/", method = RequestMethod.GET) public List<User> getUserList(){ List<User> r = new ArrayList<User>(users.values()); return r; } @ApiOperation(value = "创建用户", notes = "根据user对象创建用户") @PostMapping(value = "/") public String postUser(@ModelAttribute User user){ users.put(user.getAge(), user); return "success"; } @ApiOperation(value = "获取用户详细信息", notes = "根据的id来获取用户详细信息") @GetMapping(value = "/{id}") public User getUser(@PathVariable long id){ return users.get(id); } @ApiOperation(value = "更新用户详细信息", notes = "根据的id来指定更新对象,并根据传过来的user信息来更新用户详细信息") @PutMapping(value = "/{id}") public String putUser(@PathVariable long id, @ModelAttribute User user){ User u = users.get(id); u.setAge(user.getAge()); u.setName(user.getName()); users.put(id, u); return "success"; }}
这个里面出现了@GetMapping @PutMapping和@PostMapping 是为了@RequestMapping里面的对应method方法的简写
在pom中加入test的依赖包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency>
创建测试类
@RunWith(SpringJUnit4ClassRunner.class)@SpringApplicationConfiguration(classes = MockServletContext.class)@SpringBootTestpublic class ApplicationTest { private MockMvc mvc; @Before public void setUp() throws Exception{ mvc = MockMvcBuilders.standaloneSetup(new UserController()).build(); } @Test public void getHello() throws Exception{ mvc.perform(MockMvcRequestBuilders.post("/users/") .param("age","12") .param("name", "zhang") .accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()).andExpect(content().string(equalTo("success"))); }}
swagger2
- pom依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
- 新建配置类
@configuration 表示这个是配置类
@EnableSwagger2表示开启这个类
可以把这个配置类和Application放在一起
- 在controller中注解对应的api
@ApiOperation(value = "创建用户", notes = "根据user对象创建用户") @PostMapping(value = "/") public String postUser(@ModelAttribute User user){ users.put(user.getAge(), user); return "success"; }
value 表示在ui界面中出现的title文字
Notes 表示在改方法详情页面之中出现的提示;
可视化界面:
http://localhost:8080/swagger-ui.html#/
阅读全文
0 0
- 【框架搭建】spring boot入门
- Spring Boot框架搭建
- spring boot maven 框架搭建
- Spring boot项目搭建入门
- spring boot 搭建环境入门
- Spring Boot快速搭建Spring框架
- • Spring Boot 进 阶- 框架搭建
- Spring Boot + MyBatis框架的搭建
- 使用Spring boot 简单搭建网站框架
- Spring-boot:快速搭建微服务框架
- Spring boot 快速入门 - 环境搭建
- spring-boot的环境搭建,入门
- 搭建spring boot集成mybatis项目入门
- spring boot的入门demo搭建记录
- Spring boot入门一 环境搭建HelloWorld
- Spring mvc 入门框架搭建
- spring框架的搭建--入门
- 微框架 - spring boot快速入门
- 剑指Offer------链表中倒数第k个结点
- struts2中redirect和redirectAction的区别
- nginx 读书笔记
- jQuery+ajax实现搜索下拉菜单
- 数据结构与算法·实验二
- 【框架搭建】spring boot入门
- HDU 5721 Palace 平面最近点对
- 【Spring Boot】web应用开发-Servlets, Filters, listeners
- 栈
- spoj 375 QTREE
- kubernetes源码阅读之kubelet pod之来源
- 两个单链表合并问题
- padans中Serise.name的用法意义
- 数据结构与算法·实验三