作者:flystarfly
通过spring tools suite新建一个spring project。带maven的即可
pom.xml文件配置
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.springframework.samples</groupId> <artifactId>springbootmongodb</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springbootmongodb</name> <url>http://maven.apache.org</url> <properties> <!-- Generic properties --> <java.version>1.7</java.version> java版本号,根据自己情况来 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- Spring --> <spring-framework.version>4.2.3.RELEASE</spring-framework.version> 这里版本要高 <org.aspectj-version>1.6.10</org.aspectj-version> <!-- Hibernate / JPA --> <hibernate.version>4.2.1.Final</hibernate.version> //默认生成了,没啥用 <!-- Logging --> <logback.version>1.0.13</logback.version> <slf4j.version>1.7.5</slf4j.version> <!-- Test --> <junit.version>4.11</junit.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> </parent> <dependencies> <!-- Spring and Transactions --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-framework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring-framework.version}</version> </dependency> <!-- Logging with SLF4J & LogBack --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> <scope>runtime</scope> </dependency> <!-- Hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate.version}</version> </dependency> <!-- Spring boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- spring-boot-starter-actuator依赖会引入一组基本的Spring项目,从而实现应用的快速配置和即时可用--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!-- 增加mongodb支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <!-- AspectJ --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${org.aspectj-version}</version> </dependency> <!-- Test Artifacts --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring-framework.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies>
新建实体类 SysUser
package entity; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Document public class SysUser { //mongodb需要指定ID @Id private long seqid; private String name; private String password; private long roleId; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public long getRoleId() { return roleId; } public void setRoleId(long roleId) { this.roleId = roleId; } public long getSeqid() { return seqid; } public void setSeqid(long seqid) { this.seqid = seqid; } }
建立接口SysUserRepository extends MongoRepository
package mapper; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Component; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import entity.SysUser; @Component public interface SysUserRepository extends MongoRepository { SysUser findByName(String name); //自定义的方法 }
建立service类,写业务逻辑方法
SysUserService package service; import java.util.List; import mapper.SysUserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestMapping; import entity.SysUser; @Service @EnableMongoRepositories(basePackages="mapper" ) //扫描指定目录下面的MongoRepositories接口 public class SysUserService{ @Autowired private SysUserRepository sysUserRepository; @RequestMapping("save") public String save(){ SysUser sysUser = new SysUser(); sysUser.setName("张三"); sysUser.setPassword("123456"); sysUser.setSeqid(1L); sysUserRepository.save(sysUser); sysUser = new SysUser(); sysUser.setName("李四"); sysUser.setPassword("123456"); sysUser.setSeqid(2L); sysUserRepository.save(sysUser); return "ok"; } @RequestMapping("find") public List find(){ return sysUserRepository.findAll(); } @RequestMapping("findByName") public SysUser findByName(){ return sysUserRepository.findByName("张三"); } }
最后是控制器
package controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Import; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; import org.springframework.stereotype.Controller; 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.ResponseBody; import org.springframework.web.servlet.ModelAndView; import service.SysUserService; import entity.SysUser; /** * Created by wenchao.ren on 2014/4/26. */ @SpringBootApplication //启注解事务管理 @Controller @Import (SysUserService.class ) public class SimpleController { @Autowired private SysUserService sysUserService; @RequestMapping(value ="/hello", method = RequestMethod.GET) @ResponseBody public String hello(){ SysUser sysUser = new SysUser(); sysUserService.save(); SysUser sysUser2= sysUserService.findByName(); return sysUser2.getName(); } public static void main(String[] args) { SpringApplication.run(SimpleController.class, args); } }
还有applicationContext.properties
# mongodb note:mongo3.x will not use host and port,only use uri spring.data.mongodb.host=localhost spring.data.mongodb.port=27017 spring.data.mongodb.uri=mongodb://localhost:27017/springbootdb server.port=8011
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/113728.html