基于大数据的房价分析--4(1)

这里写图片描述

在pom.xml中加入如下依赖

junit

junit

3.8.1

test

junit

junit

3.8.1

test

org.springframework

spring-context

5.0.2.RELEASE

org.springframework

spring-webmvc

5.0.2.RELEASE

org.springframework

spring-web

5.0.2.RELEASE

org.mongodb

mongodb-driver

3.6.0

com.alibaba

fastjson

1.2.28

org.apache.httpcomponents

httpclient

4.5.4

需要将resource目录指定为resource目录,这样,将配置文件放置在该目录下会自动复制到你设置的类输出目录中,否则使用”classpath”时会找不到配置文件

这里写图片描述

2.基本配置文件编写
1.web.xml配置文件编写

dispatcher

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:spring/dispatcher-servlet.xml

1

dispatcher

/

contextConfigLocation

classpath:spring/applicationContext.xml

org.springframework.web.context.ContextLoaderListener

需要理解的是classpath指的是编译java代码的输出路径

2.springmvc配置文件编写

mvc:annotation-driven/

<content:component-scan base-package=“Test,Utils,Dao,Service,Action”></content:component-scan>

<mvc:resources mapping=“/Plug-in/” location=“Plug-in”></mvc:resources>

<mvc:resources mapping=“/Image/” location=“Image”></mvc:resources>

mvc:interceptors

mvc:interceptor

<mvc:mapping path=“/**”/>

<mvc:exclude-mapping path=“/index.do”/>

</mvc:interceptor>

</mvc:interceptors>

classpath:/config/mongoconfig.properties

3.代码
1.dao

//dao接口

package Dao;

import java.util.List;

import java.util.Map;

public interface BaseDao {

public List executeQuery(Map<String,Object> condition, String dbname, String collname,int number,int isDataLimit);

public void executeAdd(Map<String,Object> condition,String dbname,String collname);

public void executeUpdate(Map<String,Object> condition,String dbname,String collname);

public void executeRemove(Map<String,Object> condition,String dbname,String collname);

}

//dao实现

package Dao;

import Beans.Location;

import Utils.DumpClassUtil;

import Utils.MongoUtil;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import com.mongodb.client.FindIterable;

import com.mongodb.client.MongoCollection;

import org.bson.Document;

import org.springframework.stereotype.Component;

import javax.annotation.Resource;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

@Component(“cityMapDao”)

public class CityMaoDao implements BaseDao {

@Resource(name = “mongoUtil”)

private MongoUtil mongoUtil;

public List executeQuery(Map<String,Object> condition, String dbname, String collname,int number,int isDataLimit) {

List result = new ArrayList();

MongoCollection collection = mongoUtil.getClient().getDatabase(dbname).getCollection(collname);

FindIterable documents = null;

if(isDataLimit == 1) {

if(condition != null)

documents = collection.find(new Document(condition)).limit(number);

else

documents = collection.find().limit(number);

}else{

if(condition != null)

documents = collection.find(new Document(condition));

else

documents = collection.find();

}

for(Document document:documents){

Location loc = DumpClassUtil.dumpLocation(document);

if(loc != null) {

result.add(loc);

}

}

return result;

}

public void executeAdd(Map<String,Object> condition,String dbname,String collname) {

}

public void executeUpdate(Map<String,Object> condition,String dbname,String collname) {

}

public void executeRemove(Map<String,Object> condition,String dbname,String collname) {

}

}

2.service

//service接口

package Service;

import Dao.BaseDao;

import java.util.Map;

public interface BaseService {

public Object service(Map<String,Object> map, String dbName,String colName,int Number,int isDataLimit);

}

//service实现

package Service;

import Dao.BaseDao;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.stereotype.Component;

import org.springframework.stereotype.Controller;

import javax.annotation.Resource;

import java.util.Map;

@Component(“cityService”)

public class CityService implements BaseService {

@Resource(name = “cityMapDao”)

private BaseDao dao;

public Object service(Map<String,Object> map, String dbName,String colName,int number,int isDataLimit) {

return dao.executeQuery(map,dbName,colName,number,isDataLimit);

}

}

3.bean类

package Beans;

import java.util.Date;

public class Location {

private String detailUrl;

private String address;

private Float size;

private String orient;

private String roomNum;

public void setDetailUrl(String detailUrl) {

this.detailUrl = detailUrl;

}

public void setAddress(String address) {

this.address = address;

}

public void setSize(Float size) {

this.size = size;

}

public void setOrient(String orient) {

this.orient = orient;

}

public void setRoomNum(String rooomNum) {

this.roomNum = rooomNum;

}

public void setUnitPrice(Float unitPrice) {

this.unitPrice = unitPrice;

}

public void setSumPrice(Float sumPrice) {

this.sumPrice = sumPrice;

}

public void setLn(Double ln) {

this.ln = ln;

}

public void setLat(Double lat) {

this.lat = lat;

}

public void setTime(Date time) {

this.time = time;

}

public void setCity(String city) {

this.city = city;

}

public String getDetailUrl() {

return detailUrl;

}

public String getAddress() {

return address;

}

public Float getSize() {

return size;

}

public String getOrient() {

return orient;

}

public String getRoomNum() {

return roomNum;

}

public Float getUnitPrice() {

return unitPrice;

}

public Float getSumPrice() {

return sumPrice;

}

public Double getLn() {

return ln;

}

public Double getLat() {

return lat;

}

public Date getTime() {

return time;

}

public String getCity() {

return city;

}

public String print(){

return “address:”+this.getAddress()+

“Size:”+this.getSize()+

“orient:”+this.getOrient()+

“detailUrl:”+this.getDetailUrl()+

“unitPrice:”+this.getUnitPrice()+

“sumPrice:”+this.getSumPrice()+

“RooomNum:”+this.getRoomNum()+

“Ln:”+this.getLn()+

“Lat:”+this.getLat()+

“Time:”+this.getTime();

}

private Float unitPrice;

private Float sumPrice;

private Double ln;

private Double lat;

private Date time;

private String city;

}

4.用于封装bean的util类

package Utils;

import org.bson.Document;

import Beans.Location;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class DumpClassUtil {

public static Location dumpLocation(Document doc){

Location location = new Location();

if(doc.containsKey(“address”)){

location.setAddress(doc.getString(“address”));

}

if(doc.containsKey(“city”)){

location.setCity(doc.getString(“city”));

}

if(doc.containsKey(“roomNum”)){

location.setRoomNum(doc.getString(“roomNum”));

}

if(doc.containsKey(“orient”)){

location.setOrient(doc.getString(“orient”));

}

if(doc.containsKey(“size”)){

try {

Float size = Float.parseFloat(doc.getString(“size”));

location.setSize(size);

}catch (Exception e){

return null;

}

}

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

y {

Float size = Float.parseFloat(doc.getString(“size”));

location.setSize(size);

}catch (Exception e){

return null;

}

}

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
[外链图片转存中…(img-PhmPIRn4-1712886885364)]
[外链图片转存中…(img-D5j5KMz0-1712886885364)]
[外链图片转存中…(img-RJeLBQMR-1712886885365)]
[外链图片转存中…(img-cpGiOZPd-1712886885365)]
[外链图片转存中…(img-nivX035A-1712886885365)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-w5hqMeAE-1712886885366)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值