若MongoDB的安裝配置採用默認端口,那麼在自動配置的狀況下,咱們不須要作任何參數配置,就能立刻鏈接上本地的MongoDB。下面直接使用spring-data-mongodb
來嘗試對mongodb的存取操做。(記得mongod啓動您的mongodb)html
public class User { @Id private Long id; private String username; private Integer age; public User(Long id, String username, Integer age) { this.id = id; this.username = username; this.age = age; } // 省略getter和setter }
public interface UserRepository extends MongoRepository<User, Long> { User findByUsername(String username); }
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(Application.class) public class ApplicationTests { @Autowired private UserRepository userRepository; @Before public void setUp() { userRepository.deleteAll(); } @Test public void test() throws Exception { // 建立三個User,並驗證User總數 userRepository.save(new User(1L, "didi", 30)); userRepository.save(new User(2L, "mama", 40)); userRepository.save(new User(3L, "kaka", 50)); Assert.assertEquals(3, userRepository.findAll().size()); // 刪除一個User,再驗證User總數 User u = userRepository.findOne(1L); userRepository.delete(u); Assert.assertEquals(2, userRepository.findAll().size()); // 刪除一個User,再驗證User總數 u = userRepository.findByUsername("mama"); userRepository.delete(u); Assert.assertEquals(1, userRepository.findAll().size()); } }
經過上面的例子,咱們能夠垂手可得的對MongoDB進行訪問,可是實戰中,應用服務器與MongoDB一般不會部署於同一臺設備之上,這樣就沒法使用自動化的本地配置來進行使用。這個時候,咱們也能夠方便的配置來完成支持,只須要在application.properties中加入mongodb服務端的相關配置,具體示例以下:spring
spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test
在嘗試此配置時,記得在mongo中對test庫建立具有讀寫權限的用戶(用戶名爲name,密碼爲pass),不一樣版本的用戶建立語句不一樣,注意查看文檔作好準備工做mongodb
若使用mongodb 2.x,也能夠經過以下參數配置,該方式不支持mongodb 3.x。服務器
spring.data.mongodb.host=localhost spring.data.mongodb.port=27017
源碼來源app