泛型
- 类型参数:允许在外部指定类型,类型不是固定的
- 强类型:不允许改变变量或者属性或者参数类型,类型固定。
int add(User user);
- 在强类型编程语言中,类型是固定的,所以一个方法只能干一个事。如上面的方法因为参数类型的限制,只能添加用户,而无法添加课程、分类等。
- 这种限制的好处:可以开发出强大的集成开发环境,用来对程序员的代码进行实时错误检查、智能提示、智能推断、智能改错、智能重构等强大的开发支持功能。
- 强类型的缺陷:无法写出跨越多种类型的通用代码。只能勉强写成 int add(Object obj)——>又会产生obj无法直接调用我们希望使用的属性、方法。想要调用必须强转,但是转换时是没有类型检查的。非常容易出错。此时强类型语言的优势全部丢失。
泛型参数
- 是表示可变类型的符号,通常用单字母表示
- 定义时:ModelDao<T>
- 使用时:ModelDao<User>
- 通过下面的方法可以限定M的范围
- 定义时:Model<T entends Model>
- 使用时:ModelDao<继承Model的类>
使用Maven创建Web项目
- 使用maven新建项目,选中create simple。。
- 打包方式选择war
- 在项目点击右键→properties→project facets
- 取消web project module 选择,点apply
- 更改web project module 的版本号为3.1
- 选中它,再点apply
- 在下方蓝色链接(further config。。。)处点击
- 在弹出窗口指定context root 和webcontent
- webcontent 设置为 src/main/webapp(Maven的约定)
- 在build path中添加Tomcat运行时依赖
- 在deployment assembly中删除src/test/java 和 src/test/resources
- 创建一个Servlet测试,确保Servlet能跑起来。然后在添加SpringMVC
在Web项目上整合SpringMVC
- 需要在pom文件中添加spring-webmvc依赖项
- 如果使用JSP作为视图引擎,则在添加JSTL
- 如果不想在build path 中添加Tomcat,则需要再添加servlet-api
- <scope>设置为provided,表示这个jar包由运行环境提供,不需要打包到war中
- 在Web.xml中
- 配置请求编码过滤器
- DispatcherServlet(SpeingMVC的总请求处理器/前置控制器/请求派发器)
- 配置ContextLoadListener(在应用启动时,加载Sping上下文配置文件,创建并启动Spring上下文)
- 创建Springmvc-servlet.xml,在其中指定
- componen-scan:让Spring去扫面@Controller、@Service等注解
- annotation-driven:让SpringMVC进行默认装配,并实现注解驱动(通过Spring上下文中的对象来支撑SpringMVC运行)
- 配置视图控制解析器,指定使用那种视图解析器(本项目使用JSP)
- 指定视图文件后缀名
- 指定视图文件的存放路径
- 创建applicationContext.xml配置文件
- 本文件用来启动和初始化Spring上下文,在上下文中注册系统运行时需要自动创建的对象
- 创建applicationContext指定的其他配置文件,如:
- mybatis的配置文件
- log4j的配置文件
Maven命令(部分)
- mvn clean:清理项目的target文件夹
- mvn compile:编译项目(将java编译成类放到输出文件中,将资源文件放到输出文件中)
- mvn install:将jar包安装到本地仓库
- mvn install -DskipTests:跳过测试
清理项目
- 在项目上点右键→maven→Update projects
- 在主菜单 project→clean