后端启动定时任务,每半小时去执行我们的代码,调用天气预报接口,获取天气数据,把天气数据保存到自己的数据库中(redis或mysql)。再自己实现接口供自己调用获取天气数据。
在服务端去调用第三方远程的接口。
UrlConnection,了解…
apache的HttpClient组件.
加httpClient的jar包。spring的RestTemplate工具类
RestTemplate t = new RestTemplate(); String str = t.getForObject("url",String.class,Object... uriValiables) String str = t.postForObject("url",Object requestEntity,String.class) t.put("url",Object requestEntity,Object... uriValiables) t.delete("url",Object... uriValiables)apache的poi组件来操作excel
读excel:用户导入excel,服务端解析excel中的数据,保存到数据库。
Workbook workbook = WorkbookFactory.create(InputStream in)写excel:把数据导出到excel文件,下载给客户。
政务系统中有生成word的业务。
基于freemaker模板引擎来生成word.
为了在tomcat集群环境下能够上传下载文件,引入了独立的文件存储器,为了文件存储能够横线扩展,要求文件存储服务必须支持集群.
fastdfs分布式文件存储服务器:适合于中小型文件
客户端api调用:
TrackerServer:跟踪服务器
StorageServer:存储服务器,定期向跟踪服务器发送心跳包(磁盘空间)
使用fastdfs:
添加fastdfs的依赖;为了能够在浏览器上直接通过img标签展示图片,需要在跟踪服务器上部署一个http服务器(nginx)
maven是一个项目管理工具,帮我们创建项目,编译输出项目,打包,部署,项目依赖项的管理。
远程中央仓库,维护的完整的maven资源(jar)
远程企业私服仓库,通过nexus搭建私服。国内公开的私服,阿里云,码云
本地仓库,通过maven客户端指定某个文件夹来存储所有的本地下载的jar
资源坐标的概念,groupid,artifactid,version
修改文件夹名称,不带中文,不带符号
修改conf/settings.xml
本地仓库配置 <localRepository>D:\maven36\repository</localRepository> 镜像配置 <mirror> <id>nexus-javasm</id> <mirrorOf>central</mirrorOf> <url>http://192.168.20.252:8081/repository/maven-public/</url> </mirror>配置环境变量
与idea关联
项目骨架:
使用maven官方骨架:
java工程:maven-archetype-quickstart
web工程:maven-archetype-webapp
目录结构:
src/main/java:放源码
src/main/resources:放配置文件
src/main/webapp:放前端资源
src/test:放测试类
/pom.xml:maven项目的核心配置文件
clean:清理项目输出物
compile:编译项目
package:打包项目
test:执行test用例
install:用来部署本地仓库
deploy:用来部署远程仓库
注意点:
jar包版本统一管理.pom文件排版好src/main/java目录下的mybaits的映射文件的识别。 <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> </resource> </resources> 添加的servlet-api的jar包,scope必须是providedmybatis的逆向工程: <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> </dependencies> <configuration> <configurationFile>src/main/resources/generator.xml</configurationFile> </configuration> </plugin>dependency的子标签scope:
test/provided/compile
package标签的值:jar|war|pom,默认是jar
finalName标签的值:jar包或war包的名称
在线教育平台:
后台管理系统(java+视图):课程分类,注册用户管理,系统用户管理,评论,视频,订单
前端接口系统(纯java):评论,订单,用户
工具平台(纯java):
前端系统(纯视图):
移动应用(app,java开发):评论,订单,用户,课程
把应用给拆分了。
横向拆分(微服务)与纵向拆分(MVCDao)
父工程:统合了所有的子工程;统一依赖包的版本;
子工程:
ssm_entity:没有什么依赖
ssm_util:fastjson,jwt
ssm_dao:依赖mybatis,依赖ssm_entity
ssm_service:依赖ssm_dao,依赖spring
ssm_web:依赖ssm_service,依赖springMVC,spring