1. 开发必备工具:
1. Maven
Maven 核心功能就是合理叙述项目间的依赖关系,通过pom.xml配置jar包信息。一般使用三种方式:本地仓库、第三方仓库、中央仓库。
2. Svn/git
2. SSM: Spring + SpringMVC + MyBatis
1、Spring是一个开源的Java/ Java EE全功能栈应用程序框架。轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。可通过AOP和log4j实现自定义日志系统。
①、基于JavaBeans 的采用控制反转的配置管理,使得应用程序的组建更加快捷简易。
②、一个可用于从applet到JavaEE不同运行环境的核心Bean工厂。
Spring:
依赖注入是一种思想,或者说是一种设计模式,在java中通过反射机制实现,与具体框架无关,依赖注入(DI)有三种方式:接口注入、Setter注入、构造方法注入。
1. 依赖注入 是为了减少目的组件之间的 耦合度,使开发变得简单。
Spring: 基于xml文件配置
<!--配置事务管理器-->
<Property name=”transactionManger”>
<!--配置事务属性>
<Property name=”transactionAttributes”>
<Prosp>
声明式事务管理建立在AOP上,其本质是对方法前后进行拦截。在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。
优点:不需要通过编程的方式管理事务,只需要在配置文件中做相关的事务规则声明(或通过@Transactional注解方式将事务应用到逻辑中)。
3、SpringMVC:分离了控制器、模型对象、分派器以及程序对象的角色。易于其他的view框架,采用IoC便于测试。MVC作为WEB项目开发的核心环节,C(控制器)、V(视图、用户客户端)、M(模型、业务)。
MVC的功能实现 图示:
DispatcherServlet 作为SpringMVC的前端控制器,负责接收用户请求并根据请求返回视图给用户,业务操作在service层。
4、MyBatis
MyBatis:是一个基于Java的持久层框架,支持定制化SQL、存储过程以及高级映射。避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XMl或注解来配置和映射原生信息,将接口和Java的POJOs(普通Java对象)映射成数据库中的记录。
MyBatis的功能:
5、Hibernate
Hibernate使用了Java反射机制实现透明性。
Hibernate鼓励使用双向一对多关联,不使用单向一对多关联。
优化Hibernate 的七大举措:
1)尽量使用many--to--one,避免使用单向one--to--many
2)灵活使用单向one--to--one
3)多对一代替一对一
4)配置对象缓存,不使用集合缓存
5)一对多使用Bag,多对一使用Set
6)继承使用显式多态HQL: from Object polymorphism=”exlicit” 避免查处所有对象
7)消除大表,使用二级缓存
Hibernate 中的Get和load的区别:
1、get()采用立即加载方式,而load()采用延迟加载。
get()方法,立即向数据库发出查询语句,而load()方法返回的是一个代理(只有id属性)只有真正使用属性时,才会执行查询。
1、如果数据库没有响应的记录,get()方法会返回null,而load()方法会抛出异常ObjectNotFoundException。
hibernate2 和 Hibernate3 的区别:
Hibernate2延迟加载实现:a)实体对象,b)集合(Collection)
Hibernate3提供了属性的延迟加载功能,只有真正使用时,才执行sql查询,节省了服务器的内存开销,从而提高了服务器的性能,它是一个基于JDBC的主流持久层框架,是一个优秀的ORM实现,它很大程度简化了DAO层的编码工作。
3、JavaWeb项目:
天猫商城项目梳理:
整体的架构,springMVC的实现,三个重要的功能实现,三个主要的难点。