SpringBoot项目相对SpringMVC项目有搭建迅速,配置更少的优点。创建springboot项目有很多种方式,本文使用idea创建一个整合mongoDB和mysql数据库的简单的springboot项目。文章末尾附源码地址。

搭建步骤:

主要是以截图的方式介绍搭建过程。

进入新建项目界面,按照下图操作

经过以上步骤,基本项目框架就会搭建起来。因为项目中需要用到阿里的数据库连接池和json工具包,所以在pom文件中手动加入相应的依赖。
完整pom文件
4.0.0
com.zxd
demo
0.0.1-SNAPSHOT
jar
demo
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.5.2.RELEASE
UTF-8
UTF-8
1.8
1.0.29
1.2.30
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-data-mongodb
org.springframework.boot
spring-boot-starter-web
mysql
mysql-connector-java
runtime
org.springframework.boot
spring-boot-starter-test
test
com.alibaba
druid
${druid.version}
com.alibaba
fastjson
${fastjson.version}
/dependencies>
br />
dependencyManagement>
org.springframework.cloud
spring-cloud-dependencies
Dalston.RC1
pom
import
/dependencies>
br />
br />
plugins>
org.springframework.boot
spring-boot-maven-plugin/plugin>
br />
br />
id>spring-milestones
/id>
br />
name>Spring Milestones
/name>
br />
url>https://repo.spring.io/milestone
/url>
br />
snapshots>
false /snapshots>
br />
br /> return JSON.toJSONString(userList);
br /> }
br /> /** * 更新年龄 * @param id * @param age * @return */
br /> @PutMapping("/{id}")
br /> public String updateAge(@PathVariable("id") String id,@RequestParam("age") int age){
br /> return userService.modifyAgeById(age,id)+"";
br /> }
br /> /** * 删除 * @param id * @return */
br /> @DeleteMapping("/{id}")
br /> public String delete(@PathVariable("id") String id){
br /> userService.delete(id);
br /> return "删除成功!";
br /> }
br /> }
br /> import com.alibaba.fastjson.JSON;
br /> import org.springframework.data.mongodb.core.mapping.Document;
br /> import javax.persistence.Id;
br /> /** * 订单 * * @author zxd * @create 2017-03-31 16:34 **/
br /> @Document
br /> public class Order {
br />
br /> @Id
br /> private String id;
br /> private String name;
br /> public String getId() {
br /> return id;
br /> }
br /> public void setId(String id) {
br /> this.id = id;
br /> }
br /> public String getName() {
br /> return name;
br /> }
br /> public void setName(String name) {
br /> this.name = name;
br /> }
br /> @Override
br /> public String toString() {
br /> return JSON.toJSONString(this);
br /> }
br /> }
br /> import com.zxd.bean.Order;
br /> import org.springframework.data.mongodb.repository.MongoRepository;
br /> import org.springframework.stereotype.Repository;
br /> /** * @author zxd * @create 2017-03-31 16:36 **/
br /> @Repository
br /> public interface OrderRepository extends MongoRepository
Order,String>{
}
/code>
br /> 3.建立公共的dao
code class='prism'>package com.zxd.dao.impl;
import com.zxd.dao.IPublicDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Repository;
/** * @author zxd * @create 2017-03-31 18:06 **/
@Repository
public class PublicDaoImpl
implements IPublicDao{
@Autowired
private MongoTemplate mongoTemplate;
@Override
public void update(Query query, Update update, Class t) {
mongoTemplate.updateMulti(query,update,t);
}
}/pre>
p>这里只贴出实现类的代码,接口定义自行补充。里面也只有一个简单的修改方法,这里只是起一个抛砖引玉的作用,可自行扩展。
4. 新建service和controller
/p>
pre class='language-javascript'>
package com.zxd.service;
import com.zxd.bean.Order;
import com.zxd.dao.IPublicDao;
import com.zxd.repository.OrderRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import java.util.List;
/** * @author zxd * @create 2017-03-31 17:06 **/
@Service
public class OrderService {
@Autowired
private OrderRepository orderRepository;
@Autowired
private IPublicDaopublicDao;
public void save(Order order) {
orderRepository.save(order);
}
public Order findOne(String id) {
return orderRepository.findOne(id);
}
public ListfindAll() {
return orderRepository.findAll();
}
public int updateNameById(String id, String name) {
Query query = new Query(Criteria.where("_id").is(id));
Update update = Update.update("name",name);
publicDao.update(query,update,Order.class);
return 1;
}
public void deleteById(String id) {
orderRepository.delete(id);
}
}
package com.zxd.controller;
import com.alibaba.fastjson.JSON;
import com.zxd.bean.Order;
import com.zxd.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/** * @author zxd * @create 2017-03-31 16:45 **/
@RestController
@RequestMapping("/order")
public class OrderController {
@Autowired
private OrderService orderService;
/** * 保存 * @param order * @return */
@PostMapping
public String saveOrder(Order order){
orderService.save(order);
return order.toString();
}
/** * 按照id查找 * @param id * @return */
@GetMapping("/{id}")
public String findOrder(@PathVariable("id") String id){
return orderService.findOne(id).toString();
}
/** * 查找全部 * @return */
@GetMapping
public String findAll(){
return JSON.toJSONString(orderService.findAll());
}
/** * 修改 * @param id * @param name * @return */
@PutMapping("/{id}")
public String updateName(@PathVariable(value = "id") String id,@RequestParam("name") String name){
return orderService.updateNameById(id,name)+"";
}
/** * 删除 * @param id * @return */
@DeleteMapping("/{id}")
public String delete(@PathVariable("id") String id){
orderService.deleteById(id);
return "删除成功!";
}
}
可以用RESTful测试工具进行调用测试。这里不做测试演示。
至此,一个简单的springboot项目搭建完成!
项目源码地址:https://github.com/devzxd/springboot
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/139620.html