Skip to content

Commit

Permalink
add mongodb support
Browse files Browse the repository at this point in the history
  • Loading branch information
GuoJing committed Apr 2, 2017
1 parent 18311fa commit 20c04ce
Show file tree
Hide file tree
Showing 9 changed files with 87 additions and 6 deletions.
5 changes: 4 additions & 1 deletion pom.xml
Expand Up @@ -95,6 +95,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>

<build>
Expand Down Expand Up @@ -123,7 +127,6 @@
</checkstyleRules>
</configuration>
</plugin>

</plugins>
</build>

Expand Down
8 changes: 7 additions & 1 deletion spb.iml
Expand Up @@ -38,7 +38,6 @@
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.7.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.5.2.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.5.2.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.5.2.RELEASE" level="project" />
Expand Down Expand Up @@ -73,5 +72,12 @@
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.7" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.24" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-mongodb:1.5.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mongodb:mongodb-driver:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.mongodb:bson:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.mongodb:mongodb-driver-core:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-mongodb:1.10.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.13.1.RELEASE" level="project" />
</component>
</module>
5 changes: 3 additions & 2 deletions src/main/java/application/App.java
Expand Up @@ -12,8 +12,9 @@
@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan(basePackages = {
"controller", "dao", "config", "domain", "dto", "service"
})
"config", "controller", "dao", "domain", "dto",
"exceptions", "model.document", "repository",
"service"})
public class App {
/**
* Spring boot entry point.
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/controller/UserController.java
Expand Up @@ -5,13 +5,15 @@
import exceptions.NotFoundException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import dto.UserDto;
import repository.UserPropsRepository;
import service.UserService;

import javax.annotation.Resource;
Expand All @@ -28,6 +30,10 @@ public class UserController {
@Resource
private UserService userService;

// HERE IS THE EXCEPTION
// @Autowired
// private UserPropsRepository userPropsRepository;

/**
* logger object.
*/
Expand Down
38 changes: 38 additions & 0 deletions src/main/java/model/document/UserProps.java
@@ -0,0 +1,38 @@
package model.document;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

/**
* Created by guojing on 2017/4/2.
*/
@Document(collection = "jedi")
public class UserProps {
@Id
private Long id;

private String content;

public UserProps() {
super();
}

public UserProps(String content) {
this.content = content;
}

public final Long getId() { return id; }

public final void setId(final Long id) { this.id = id; }

public final String getContent() { return content; }

public final void setContent(final String content) { this.content = content; }

@Override
public String toString() {
return String.format(
"Todo[id=%s, content='%s']",
id, content);
}
}
14 changes: 14 additions & 0 deletions src/main/java/repository/UserPropsRepository.java
@@ -0,0 +1,14 @@
package repository;

import model.document.UserProps;
import org.springframework.data.mongodb.repository.MongoRepository;

/**
* Created by guojing on 2017/4/2.
*/
public interface UserPropsRepository extends MongoRepository<UserProps, String> {
UserProps findOne(String id);
UserProps save(UserProps props);
UserProps update(UserProps props);
void delete(UserProps props);
}
2 changes: 2 additions & 0 deletions src/main/java/service/impl/UserServiceImpl.java
Expand Up @@ -5,7 +5,9 @@
import dto.UserDto;
import exceptions.NotFoundException;
import exceptions.IllegalArgumentException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import repository.UserPropsRepository;
import service.UserService;

import javax.annotation.Resource;
Expand Down
5 changes: 5 additions & 0 deletions src/main/resources/application.properties
Expand Up @@ -2,3 +2,8 @@ server.port=9090
db.username=root
db.password=root
db.dsn=jdbc:mysql://127.0.0.1:3306/jedi
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.username=root
spring.data.mongodb.password=root
spring.data.mongodb.database=jedi
10 changes: 8 additions & 2 deletions src/test/java/config/TestConfig.java
Expand Up @@ -25,7 +25,10 @@
public class TestConfig {

@SpringBootApplication
@ComponentScan(basePackages = {"dao"})
@ComponentScan(basePackages = {
"controller", "dao", "domain", "dto",
"exceptions", "model.document", "repository",
"service"})
@EnableAutoConfiguration(exclude = {WebMvcAutoConfiguration.class, EmbeddedServletContainerAutoConfiguration.class})
public static class DaoConfig {

Expand All @@ -42,7 +45,10 @@ public EmbeddedDatabase dataSource() {
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,
EmbeddedServletContainerAutoConfiguration.class})
@ComponentScan(basePackages = {"controller", "dao", "config", "domain", "dto", "service"},
@ComponentScan(basePackages = {
"config", "controller", "dao", "domain", "dto",
"exceptions", "model.document", "repository",
"service"},
excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,
value = {DataSourceConfig.class})})
public static class ServiceConfig {
Expand Down

0 comments on commit 20c04ce

Please sign in to comment.