简述泛型、用Maven创建Web项目以及在Web项目上整合SpringMVC
表设计
Timestamp列是否取消“根据当前时间戳自动更新”
是否null及默认值选择合理不合理
外键命名规范及更新和删除时的动作是否合理
泛型
类型参数 ——允许在外部指定类型--类型不是固定的!
强类型——不允许改变变量或者属性或者参数的类型——类型的固定!
int add(User user);
在类型编程语言中类型是固定的,所以一个方法只能干一个事
如上面的方法因为参数类型的限制,只能添加用户,而无法添加“课程”、“分类”等
这种限制的好处:
可以开发出强大的集成开发环境,用来对程序员代码进行实时错误检查
智能提示、智能推断、智能改错、智能重构等强大的开发支持功能
强类型的缺陷
:
无法写出跨越多种类型的通用代码
只能勉强写成 int add(Object obj);
又会产生obj无法直接 .
出来我们希望使用属性、方法
如果想 . 出来,就需要强制类型转换,但是转换的时候是没有类型检查的,非常容易出错
此时,强类型语言的优势全部丧失!
泛型参数
表示可变类型的符号,通常习惯用单字母表示
定义时 ModelDao<M> 类比为形参
使用时 ModelDao<User> 类比为实参
通过下面的方法可以限定M的范围
定义时 ModelDao<M extends Model>
使用时 ModelDao<String> 就会报错!
NodelDao<User> 正确
使用Maven创建Web项目
1.使用maven新建项目,选中create simple...
2.打包方式选择war
3.在项目点右键-->properties-->project facets
a. 取消 web project module
选择,点apply
b. 更改web project module
的版本号为3.1
c. 选中它,再点apply
d. 在下方蓝色链接(further config...)处点击
e. 在弹出的窗口中指定context root
和webcontent
l Webcontent设置为src/main/webapp(Maven的约定)
4. 在build path
中添加tomcat运行时依赖
5. 在deployment assembly 中删除src/test/java和src/test/resources
6. 创建一个Servlet测试,确保Servlet能运行之后,然后添加
在Web项目上整合SpringMVC
1.需要在pom文件中添加spring-webmvc依赖项
2.如果使用JSP作为视图引擎,则再添加jstl
3.如果不想在build path中添加tomcat,则需要再添加servlet-api
A)<scope>设置为provided
,表示这个jar包由运行环境提供,
不需要打包到war中
4.在web.xml中
1>配置请求编码过滤器
2>DispatcherServlet(SpringMVC的总请求处理器/前置控制器/请求派发器)
3>配置ContextLoadListener(在应用启动时,加载Spring上下文配置文件,创建并启动Spring上下文)
5.创建springmvc-servlet.xml,在其中指定
A) component-scan 让Spring去扫描@Controller、@Service等注解
B) annotation-driven 让SpringMVC进行默认装配,并实现
注解驱动----通过Spring上下文中的对象来支撑SpringMVC运行
C) 配置视图控制解析器 指定使用哪种视图解析器(本项目使用JSP)
① 指定视图文件后缀名
② 视图文件的存放路径
6.创建applicationContext.xml配置文件
A) 本文件用来启动和初始化Spring上下文,在上下文中注册系统运动时需要自动创建的对象
7.创建applicationContext指定的其它配置文件
A)如mybatis的配置文件
B) log4j的配置文件
Maven命令(部分)
mvn clean 清理项目的target文件夹
mvn compile 编译项目
(将java编译成类放到输出文件中,将资源文件放到输出文件中)
mvn install 将jar包安装到本地仓库
跳过测试 mvn install -DskipTests
清理项目
方法一:在项目上点右键-->maven-->update projects.....
方法二:
在主菜单project-->clean.....
父项目中的配置文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zhiyou100.video</groupId>
<artifactId>video-parent</artifactId>
<!-- 会在很多地方使用,方便修改 -->
<version>${ version }</version>
<name>Video Parent</name>
<!-- 作为其他项目的父项目,为其他项目共享属性,共享信息 -->
<packaging>pom</packaging>
<url>http://www.zhiyou100.com</url>
<description>智游在线。智游在线教育平台,提供视频教程,互动学习等服务</description>
<properties>
<version>0.1</version>
<spring.version>4.3.9.RELEASE</spring.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- 下面的dependency为什么添加到父项目里?
因为子项目都需要用到,放在父项目中,让子项目继承即可 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- 测试用的作用域 -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<!-- 版本里为什么用变量定义?
spring里有很多jar包,需要保证jar包中一致,定义变量更好 -->
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<modules>
<module>video-service</module>
<module>video-web</module>
</modules>
</project>
简述泛型、用Maven创建Web项目以及在Web项目上整合SpringMVC的更多相关文章
- springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置
前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多 ...
- maven创建子项目(适用于多模块管理项目)
在eclipse或者myeclipse下构建maven项目,该项目由多个子模块组成. 1.创建一个父项目 NEW -->project-->maven-->maven Project ...
- eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis
接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...
- springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试
包结构 所需要的jar包直接拷贝到lib目录下 然后选定 build path 之后开始写项目代码 配置文件 ApplicationContext.xml <?xml version=" ...
- springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用
log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n ---internationalization 不就是i和n之间有18个字母... http://logging.a ...
- 使用IDEA结合MAVEN创建一个Spring Java Web项目
前言 如今的Java项目,如果还使用传统的把jar包复制到目录下这种原始的方式,对于依赖管理来说实在是灾难.对某个功能需要引入某种技术包,但是你不确定是否已存在,如果分类好的话还好找,若是杂在一堆不仅 ...
- Eclipse中使用Maven创建web项目
一.创建一个Maven项目 1.Eclipse中用Maven创建项目 上图中点击next 2.继续next 3.选maven-archetype-webapp后,next 4.填写相应的信息,Pack ...
- 如何用Maven创建web项目
使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 ...
- 【maven】maven创建web项目-pom文件提示web.xml is missing and <failOnMissingWebXml> is set to true
使用maven创建web项目,选择war类型后,pom文件红叉 提示web.xml is missing and <failOnMissingWebXml> is set to true ...
随机推荐
- Spring Cloud(二):Spring Cloud Eureka Server高可用注册服务中心的配置
前言 Eureka 作为一个云端负载均衡,本身是一个基于REST的服务,在 Spring Cloud 中用于发现和注册服务. 那么当成千上万个微服务注册到Eureka Server中的时候,Eurek ...
- Android 依赖注入: Dagger 2 实例解说(一)
本文原创,转载请注明出处:http://blog.csdn.net/zjbpku [Duplicated] link to Dagger on Android - Dagger2具体解释 关于D ...
- atitit.自动生成数据库结构脚本,或者更换数据库,基于hibernate4
atitit.自动生成数据库结构脚本,或者更换数据库,基于hibernate4 目前近况:: 更换数据库,但是是使用spring集成的. <!-- hibernate配置文件路径 --> ...
- Eclipse 最有用的快捷键
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升. ...
- WebSocket请求过程分析及实现Web聊天室
WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工(full-duplex ...
- 访问子节点childNodes
访问子节点childNodes 访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性. 语法: elementNode.childNodes 注意: 如果选定的节点 ...
- php读取csv的问题
csv文件要用utf-8 无bom格式保存 如果有英文外的字符,另外每项要用双引号,不用双引号不能保存非英文字符
- [基础]sizeof和strlen
转自网络 首先切记,sizeof不能用来求字符串长度 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字 ...
- 如何找到文件的家-打开文件对话框openFileDialog
private void button1_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*.txt|*.txt& ...
- inline-block元素的空白间距解决方法<转>
使用inline-block来代替float进行布局,或者使用inline-block来实现元素的居中效果.有关于使用inline-block来代替float的讨论也蛮多的. 不过就是使用inline ...