增加 mongodb 整合用例
This commit is contained in:
		@@ -0,0 +1,25 @@
 | 
			
		||||
package com.heibaiying.bean;
 | 
			
		||||
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author : heibaiying
 | 
			
		||||
 * @description :
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
public class Programmer {
 | 
			
		||||
 | 
			
		||||
    private String name;
 | 
			
		||||
 | 
			
		||||
    private int age;
 | 
			
		||||
 | 
			
		||||
    private float salary;
 | 
			
		||||
 | 
			
		||||
    private Date birthday;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,39 @@
 | 
			
		||||
package com.heibaiying.config;
 | 
			
		||||
 | 
			
		||||
import com.mongodb.MongoClient;
 | 
			
		||||
import com.mongodb.MongoClientOptions;
 | 
			
		||||
import com.mongodb.ServerAddress;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.ComponentScan;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.data.mongodb.MongoDbFactory;
 | 
			
		||||
import org.springframework.data.mongodb.core.MongoTemplate;
 | 
			
		||||
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author : heibaiying
 | 
			
		||||
 * @description : Mongo 配置类
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@Configuration
 | 
			
		||||
@ComponentScan(value = "com.heibaiying.*")
 | 
			
		||||
public class MongoConfig {
 | 
			
		||||
 | 
			
		||||
    @Bean
 | 
			
		||||
    public MongoDbFactory mongoDbFactory(MongoProperty mongo) {
 | 
			
		||||
        MongoClientOptions options = MongoClientOptions.builder()
 | 
			
		||||
                .threadsAllowedToBlockForConnectionMultiplier(mongo.getMultiplier())
 | 
			
		||||
                .connectionsPerHost(mongo.getConnectionsPerHost())
 | 
			
		||||
                .connectTimeout(mongo.getConnectTimeout())
 | 
			
		||||
                .maxWaitTime(mongo.getMaxWaitTime())
 | 
			
		||||
                .socketTimeout(mongo.getSocketTimeout())
 | 
			
		||||
                .build();
 | 
			
		||||
        MongoClient client = new MongoClient(new ServerAddress(mongo.getHost(), mongo.getPort()), options);
 | 
			
		||||
        return new SimpleMongoDbFactory(client, mongo.getDbname());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Bean
 | 
			
		||||
    public MongoTemplate mongoTemplate(MongoDbFactory mongoDbFactory) {
 | 
			
		||||
        return new MongoTemplate(mongoDbFactory);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,35 @@
 | 
			
		||||
package com.heibaiying.config;
 | 
			
		||||
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.context.annotation.PropertySource;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author : heibaiying
 | 
			
		||||
 * @description : Mongo 配置属性
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Configuration
 | 
			
		||||
@PropertySource(value = "classpath:mongodb.properties")
 | 
			
		||||
public class MongoProperty {
 | 
			
		||||
 | 
			
		||||
    @Value("${mongo.host}")
 | 
			
		||||
    private String host;
 | 
			
		||||
    @Value("${mongo.port}")
 | 
			
		||||
    private int port;
 | 
			
		||||
    @Value("${mongo.dbname}")
 | 
			
		||||
    private String dbname;
 | 
			
		||||
    @Value("${mongo.connectionsPerHost}")
 | 
			
		||||
    private int connectionsPerHost;
 | 
			
		||||
    @Value("${mongo.threadsAllowedToBlockForConnectionMultiplier}")
 | 
			
		||||
    private int multiplier;
 | 
			
		||||
    @Value("${mongo.connectTimeout}")
 | 
			
		||||
    private int connectTimeout;
 | 
			
		||||
    @Value("${mongo.maxWaitTime}")
 | 
			
		||||
    private int maxWaitTime;
 | 
			
		||||
    @Value("${mongo.socketKeepAlive}")
 | 
			
		||||
    private boolean socketKeepAlive;
 | 
			
		||||
    @Value("${mongo.socketTimeout}")
 | 
			
		||||
    private int socketTimeout;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,17 @@
 | 
			
		||||
mongo.host=192.168.200.228
 | 
			
		||||
mongo.port=27017
 | 
			
		||||
# <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>. Ĭ<><C4AC><EFBFBD><EFBFBD>'db'.
 | 
			
		||||
mongo.dbname=database
 | 
			
		||||
# ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
			
		||||
mongo.connectionsPerHost=10
 | 
			
		||||
# <20>̶߳<DFB3><CCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>connectionsPerHostֵ<74><D6B5><EFBFBD>˵Ľ<CBB5><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶߳<DFB3><CCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>оͻ<D0BE><CDBB>׳<EFBFBD><D7B3>쳣
 | 
			
		||||
mongo.threadsAllowedToBlockForConnectionMultiplier=5
 | 
			
		||||
# <20><><EFBFBD>ӳ<EFBFBD>ʱ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD> 0<><30>Ĭ<EFBFBD><C4AC>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB4><EFBFBD>
 | 
			
		||||
mongo.connectTimeout=1000
 | 
			
		||||
# <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> Ĭ<><C4AC><EFBFBD><EFBFBD>120000 ms (2 minutes).
 | 
			
		||||
mongo.maxWaitTime=1500
 | 
			
		||||
# <20><><EFBFBD>ֻ<D6BB><EEB6AF>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><D7BD>ֱ<EFBFBD><D6B1>ֻ<D6BB><EEB6AF>ʱ <20>ٷ<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊtrue <20>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
			
		||||
mongo.socketKeepAlive=true
 | 
			
		||||
# <20><><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><D7BD>ֳ<EFBFBD>ʱ<EFBFBD><CAB1>
 | 
			
		||||
mongo.socketTimeout=1500
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user