课程内容
<!--[if !supportLists]-->1. <!--[endif]-->面向接口(抽象)编程的概念与好处
<!--[if !supportLists]-->2. <!--[endif]-->IOC/DI的概念与好处
<!--[if !supportLists]-->a) <!--[endif]-->inversion of control
<!--[if !supportLists]-->b) <!--[endif]-->dependency injection
<!--[if !supportLists]-->3. <!--[endif]-->AOP的概念与好处
<!--[if !supportLists]-->4. <!--[endif]-->Spring简介
<!--[if !supportLists]-->5. <!--[endif]-->Spring应用IOC/DI(重要)
<!--[if !supportLists]-->a) <!--[endif]-->xml
<!--[if !supportLists]-->b) <!--[endif]-->annotation
<!--[if !supportLists]-->6. <!--[endif]-->Spring应用AOP(重要)
<!--[if !supportLists]-->a) <!--[endif]-->xml
<!--[if !supportLists]-->b) <!--[endif]-->annotation
<!--[if !supportLists]-->7. <!--[endif]-->Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合(重要)
<!--[if !supportLists]-->a) <!--[endif]-->opensessionInviewfilter(记住,解决什么问题,怎么解决)
<!--[if !supportLists]-->8. <!--[endif]-->Spring JDBC
面向接口编程(面向抽象编程)
<!--[if !supportLists]-->1. <!--[endif]-->场景:用户添加
<!--[if !supportLists]-->2. <!--[endif]-->Spring_0100_AbstractOrientedProgramming
<!--[if !supportLists]-->a) <!--[endif]-->不是AOP:Aspect Oriented Programming
<!--[if !supportLists]-->3. <!--[endif]-->好处:灵活
什么是IOC(DI),有什么好处
<!--[if !supportLists]-->1. <!--[endif]-->把自己new的东西改为由容器提供
<!--[if !supportLists]-->a) <!--[endif]-->初始化具体值
<!--[if !supportLists]-->b) <!--[endif]-->装配
<!--[if !supportLists]-->2. <!--[endif]-->好处:灵活装配
Spring简介
<!--[if !supportLists]-->1. <!--[endif]-->项目名称:Spring_0200_IOC_Introduction
<!--[if !supportLists]-->2. <!--[endif]-->环境搭建
<!--[if !supportLists]-->a) <!--[endif]-->只用IOC
<!--[if !supportLists]--> i. <!--[endif]-->spring.jar , jarkata-commons/commons-loggin.jar
<!--[if !supportLists]-->3. <!--[endif]-->IOC容器
<!--[if !supportLists]-->a) <!--[endif]-->实例化具体bean
<!--[if !supportLists]-->b) <!--[endif]-->动态装配
<!--[if !supportLists]-->4. <!--[endif]-->AOP支持
<!--[if !supportLists]-->a) <!--[endif]-->安全检查
<!--[if !supportLists]-->b) <!--[endif]-->管理transaction
Spring IOC配置与应用
<!--[if !supportLists]-->1. <!--[endif]-->FAQ:不给提示:
<!--[if !supportLists]-->a) <!--[endif]-->window – preferences – myeclipse – xml – xml catalog
<!--[if !supportLists]-->b) <!--[endif]-->User Specified Entries – add
<!--[if !supportLists]--> i. <!--[endif]-->Location: D:\share\0900_Spring\soft\spring-framework-2.5.6\dist\resources\spring-beans-2.5.xsd
<!--[if !supportLists]--> ii. <!--[endif]-->URI: file:///D:/share/0900_Spring/soft/spring-framework-2.5.6/dist/resources/spring-beans-2.5.xsd
<!--[if !supportLists]--> iii. <!--[endif]-->Key Type: Schema Location
<!--[if !supportLists]--> iv. <!--[endif]-->Key: http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
<!--[if !supportLists]-->2. <!--[endif]-->注入类型
<!--[if !supportLists]-->a) <!--[endif]-->Spring_0300_IOC_Injection_Type
<!--[if !supportLists]-->b) <!--[endif]-->setter(重要)
<!--[if !supportLists]-->c) <!--[endif]-->构造方法(可以忘记)
<!--[if !supportLists]-->d) <!--[endif]-->接口注入(可以忘记)
<!--[if !supportLists]-->3. <!--[endif]-->id vs. name
<!--[if !supportLists]-->a) <!--[endif]-->Spring_0400_IOC_Id_Name
<!--[if !supportLists]-->b) <!--[endif]-->name可以用特殊字符
<!--[if !supportLists]-->4. <!--[endif]-->简单属性的注入
<!--[if !supportLists]-->a) <!--[endif]-->Spring_0500_IOC_SimpleProperty
<!--[if !supportLists]-->b) <!--[endif]--><property name=… value=….>
<!--[if !supportLists]-->5. <!--[endif]--><bean 中的scope属性
<!--[if !supportLists]-->a) <!--[endif]-->Spring_0600_IOC_Bean_Scope
<!--[if !supportLists]-->b) <!--[endif]-->singleton 单例
<!--[if !supportLists]-->c) <!--[endif]-->proptotype 每次创建新的对象
<!--[if !supportLists]-->6. <!--[endif]-->集合注入
<!--[if !supportLists]-->a) <!--[endif]-->Spring_0700_IOC_Collections
<!--[if !supportLists]-->b) <!--[endif]-->很少用,不重要!参考程序
<!--[if !supportLists]-->7. <!--[endif]-->自动装配
<!--[if !supportLists]-->a) <!--[endif]-->Spring_0800_IOC_AutoWire
<!--[if !supportLists]-->b) <!--[endif]-->byName
<!--[if !supportLists]-->c) <!--[endif]-->byType
<!--[if !supportLists]-->d) <!--[endif]-->如果所有的bean都用同一种,可以使用beans的属性:default-autowire
<!--[if !supportLists]-->8. <!--[endif]-->生命周期
<!--[if !supportLists]-->a) <!--[endif]-->Spring_0900_IOC_Life_Cycle
<!--[if !supportLists]-->b) <!--[endif]-->lazy-init (不重要)
<!--[if !supportLists]-->c) <!--[endif]-->init-method destroy-methd 不要和prototype一起用(了解)
<!--[if !supportLists]-->9. <!--[endif]-->Annotation第一步:
<!--[if !supportLists]-->a) <!--[endif]-->修改xml文件,参考文档<context:annotation-config />
<!--[if !supportLists]-->10. <!--[endif]-->@Autowired
<!--[if !supportLists]-->a) <!--[endif]-->默认按类型by type
<!--[if !supportLists]-->b) <!--[endif]-->如果想用byName,使用@Qulifier
<!--[if !supportLists]-->c) <!--[endif]-->写在private field(第三种注入形式)(不建议,破坏封装)
<!--[if !supportLists]-->d) <!--[endif]-->如果写在set上,@qualifier需要写在参数上
<!--[if !supportLists]-->11. <!--[endif]-->@Resource(重要)
<!--[if !supportLists]-->a) <!--[endif]-->加入:j2ee/common-annotations.jar
<!--[if !supportLists]-->b) <!--[endif]-->默认按名称,名称找不到,按类型
<!--[if !supportLists]-->c) <!--[endif]-->可以指定特定名称
<!--[if !supportLists]-->d) <!--[endif]-->推荐使用
<!--[if !supportLists]-->e) <!--[endif]-->不足:如果没有源码,就无法运用annotation,只能使用xml
<!--[if !supportLists]-->12. <!--[endif]-->@Component @Service @Controller @Repository
<!--[if !supportLists]-->a) <!--[endif]-->初始化的名字默认为类名首字母小写
<!--[if !supportLists]-->b) <!--[endif]-->可以指定初始化bean的名字
<!--[if !supportLists]-->13. <!--[endif]-->@Scope
<!--[if !supportLists]-->14. <!--[endif]-->@PostConstruct = init-method; @PreDestroy = destroy-method;
什么是AOP
<!--[if !supportLists]-->1. <!--[endif]-->面向切面编程Aspect-Oriented-Programming
<!--[if !supportLists]-->a) <!--[endif]-->是对面向对象的思维方式的有力补充
<!--[if !supportLists]-->2. <!--[endif]-->Spring_1400_AOP_Introduction
<!--[if !supportLists]-->3. <!--[endif]-->好处:可以动态的添加和删除在切面上的逻辑而不影响原来的执行代码
<!--[if !supportLists]-->a) <!--[endif]-->Filter
<!--[if !supportLists]-->b) <!--[endif]-->Struts2的interceptor
<!--[if !supportLists]-->4. <!--[endif]-->概念:
<!--[if !supportLists]-->a) <!--[endif]-->JoinPoint
<!--[if !supportLists]-->b) <!--[endif]-->PointCut
<!--[if !supportLists]-->c) <!--[endif]-->Aspect(切面)
<!--[if !supportLists]-->d) <!--[endif]-->Advice
<!--[if !supportLists]-->e) <!--[endif]-->Target
<!--[if !supportLists]-->f) <!--[endif]-->Weave
Spring AOP配置与应用
<!--[if !supportLists]-->1. <!--[endif]-->两种方式:
<!--[if !supportLists]-->a) <!--[endif]-->使用Annotation
<!--[if !supportLists]-->b) <!--[endif]-->使用xml
<!--[if !supportLists]-->2. <!--[endif]-->Annotation
<!--[if !supportLists]-->a) <!--[endif]-->加上对应的xsd文件spring-aop.xsd
<!--[if !supportLists]-->b) <!--[endif]-->beans.xml <aop:aspectj-autoproxy />
<!--[if !supportLists]-->c) <!--[endif]-->此时就可以解析对应的Annotation了
<!--[if !supportLists]-->d) <!--[endif]-->建立我们的拦截类
<!--[if !supportLists]-->e) <!--[endif]-->用@Aspect注解这个类
<!--[if !supportLists]-->f) <!--[endif]-->建立处理方法
<!--[if !supportLists]-->g) <!--[endif]-->用@Before来注解方法
<!--[if !supportLists]-->h) <!--[endif]-->写明白切入点(execution …….)
<!--[if !supportLists]-->i) <!--[endif]-->让spring对我们的拦截器类进行管理@Component
<!--[if !supportLists]-->3. <!--[endif]-->常见的Annotation:
<!--[if !supportLists]-->a) <!--[endif]-->@Pointcut
<!--[if !supportLists]-->b) <!--[endif]-->@Before
<!--[if !supportLists]-->c) <!--[endif]-->@AfterReturning
<!--[if !supportLists]-->d) <!--[endif]-->@AfterThrowing
<!--[if !supportLists]-->e) <!--[endif]-->@After
<!--[if !supportLists]-->f) <!--[endif]-->@Around
<!--[if !supportLists]-->4. <!--[endif]-->织入点语法
<!--[if !supportLists]-->a) <!--[endif]-->void !void
<!--[if !supportLists]-->b) <!--[endif]-->参考文档(* ..)
<!--[if !supportLists]-->5. <!--[endif]-->xml配置AOP
<!--[if !supportLists]-->a) <!--[endif]-->把interceptor对象初始化
<!--[if !supportLists]-->b) <!--[endif]--><aop:config
<!--[if !supportLists]--> i. <!--[endif]--><aop:aspect …..
<!--[if !supportLists]-->1. <!--[endif]--><aop:pointcut
<!--[if !supportLists]-->2. <!--[endif]--><aop:before
Spring整合Hibernate
<!--[if !supportLists]-->1. <!--[endif]-->Spring 指定datasource
<!--[if !supportLists]-->a) <!--[endif]-->参考文档,找dbcp.BasicDataSource
<!--[if !supportLists]--> i. <!--[endif]-->c3p0
<!--[if !supportLists]--> ii. <!--[endif]-->dbcp
<!--[if !supportLists]--> iii. <!--[endif]-->proxool
<!--[if !supportLists]-->b) <!--[endif]-->在DAO或者Service中注入dataSource
<!--[if !supportLists]-->c) <!--[endif]-->在Spring中可以使用PropertyPlaceHolderConfigure来读取Properties文件的内容
<!--[if !supportLists]-->2. <!--[endif]-->Spring整合Hibernate
<!--[if !supportLists]-->a) <!--[endif]--><bean .. AnnotationSessionFactoryBean>
<!--[if !supportLists]--> i. <!--[endif]--><property dataSource
<!--[if !supportLists]--> ii. <!--[endif]--><annotatedClasses
<!--[if !supportLists]-->b) <!--[endif]-->引入hibernate 系列jar包
<!--[if !supportLists]-->c) <!--[endif]-->User上加Annotation
<!--[if !supportLists]-->d) <!--[endif]-->UserDAO或者UserServie 注入SessionFactory
<!--[if !supportLists]-->e) <!--[endif]-->jar包问题一个一个解决
<!--[if !supportLists]-->3. <!--[endif]-->声明式的事务管理
<!--[if !supportLists]-->a) <!--[endif]-->事务加在DAO层还是Service层?
<!--[if !supportLists]-->b) <!--[endif]-->annotation
<!--[if !supportLists]--> i. <!--[endif]-->加入annotation.xsd
<!--[if !supportLists]--> ii. <!--[endif]-->加入txManager bean
<!--[if !supportLists]--> iii. <!--[endif]--><tx:annotation-driven
<!--[if !supportLists]--> iv. <!--[endif]-->在需要事务的方法上加:@Transactional
<!--[if !supportLists]--> v. <!--[endif]-->需要注意,使用SessionFactory.getCurrentSession 不要使用OpenSession
<!--[if !supportLists]-->c) <!--[endif]-->@Transactional详解
<!--[if !supportLists]--> i. <!--[endif]-->什么时候rollback
<!--[if !supportLists]-->1. <!--[endif]-->运行期异常,非运行期异常不会触发rollback
<!--[if !supportLists]-->2. <!--[endif]-->必须uncheck (没有catch)
<!--[if !supportLists]-->3. <!--[endif]-->不管什么异常,只要你catch了,spring就会放弃管理
<!--[if !supportLists]-->4. <!--[endif]-->事务传播特性:propagation_required
<!--[if !supportLists]-->5. <!--[endif]-->read_only
<!--[if !supportLists]-->d) <!--[endif]-->xml(推荐,可以同时配置好多方法)
<!--[if !supportLists]--> i. <!--[endif]--><bean txmanager
<!--[if !supportLists]--> ii. <!--[endif]--><aop:config
<!--[if !supportLists]-->1. <!--[endif]--><aop:pointcut
<!--[if !supportLists]-->2. <!--[endif]--><aop:advisor pointcut-ref advice-ref
<!--[if !supportLists]--> iii. <!--[endif]--><tx:advice: id transaction-manager =
<!--[if !supportLists]-->e) <!--[endif]-->HibernateTemplate、HibernateCallback、HibernateDaoSupport(不重要)介绍
<!--[if !supportLists]--> i. <!--[endif]-->设计模式:Template Method
<!--[if !supportLists]--> ii. <!--[endif]-->Callback:回调/钩子函数
<!--[if !supportLists]--> iii. <!--[endif]-->第一种:(建议)
<!--[if !supportLists]-->1. <!--[endif]-->在spring中初始化HibernateTemplate,注入sessionFactory
<!--[if !supportLists]-->2. <!--[endif]-->DAO里注入HibernateTemplate
<!--[if !supportLists]-->3. <!--[endif]-->save写getHibernateTemplate.save();
<!--[if !supportLists]--> iv. <!--[endif]-->第二种:
<!--[if !supportLists]-->1. <!--[endif]-->从HibernateDaoSupport继承
<!--[if !supportLists]-->2. <!--[endif]-->必须写在xml文件中,无法使用Annotation,因为set方法在父类中,而且是final的
<!--[if !supportLists]-->f) <!--[endif]-->spring整合hibernate的时候使用packagesToScan属性,可以让spring自动扫描对应包下面的实体类
Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2
<!--[if !supportLists]-->1. <!--[endif]-->需要的jar包列表
jar包名称 |
所在位置 |
说明 |
antlr-2.7.6.jar |
hibernate/lib/required |
解析HQL |
aspectjrt |
spring/lib/aspectj |
AOP |
aspectjweaver |
.. |
AOP |
cglib-nodep-2.1_3.jar |
spring/lib/cglib |
代理,二进制增强 |
common-annotations.jar |
spring/lib/j2ee |
@Resource |
commons-collections-3.1.jar |
hibernate/lib/required |
集合框架 |
commons-fileupload-1.2.1.jar |
struts/lib |
struts |
commons-io-1.3.2 |
struts/lib |
struts |
commons-logging-1.1.1 |
单独下载,删除1.0.4(struts/lib) |
struts spring |
dom4j-1.6.1.jar |
hibernate/required |
解析xml |
ejb3-persistence |
hibernate-annotation/lib |
@Entity |
freemarker-2.3.13 |
struts/lib |
struts |
hibernate3.jar |
hibernate |
|
hibernate-annotations |
hibernate-annotation/ |
|
hibernate-common-annotations |
hibernate-annotation/lib |
|
javassist-3.9.0.GA.jar |
hiberante/lib/required |
hibernate |
jta-1.1.jar |
.. |
hibernate transaction |
junit4.5 |
|
|
mysql- |
|
|
ognl-2.6.11.jar |
struts/lib |
|
slf4j-api-1.5.8.jar |
hibernate/lib/required |
hibernate-log |
slf4j-nop-1.5.8.jar |
hibernate/lib/required |
|
spring.jar |
spring/dist |
|
struts2-core-2.1.6.jar |
struts/lib |
|
xwork-2.1.2.jar |
struts/lib |
struts2 |
commons-dbcp |
spring/lib/jarkata-commons |
|
commons-pool.jar |
.. |
|
struts2-spring-plugin-2.1.6.jar |
struts/lib |
|
<!--[if !supportLists]-->2. <!--[endif]-->BestPractice:
<!--[if !supportLists]-->a) <!--[endif]-->将这些所有的jar包保存到一个位置,使用的时候直接copy
<!--[if !supportLists]-->3. <!--[endif]-->步骤
<!--[if !supportLists]-->a) <!--[endif]-->加入jar包
<!--[if !supportLists]-->b) <!--[endif]-->首先整合Spring + Hibernate
<!--[if !supportLists]--> i. <!--[endif]-->建立对应的package
<!--[if !supportLists]-->1. <!--[endif]-->dao / dao.impl / model / service / service.impl/ test
<!--[if !supportLists]--> ii. <!--[endif]-->建立对应的接口与类框架
<!--[if !supportLists]-->1. <!--[endif]-->S2SH_01
<!--[if !supportLists]--> iii. <!--[endif]-->建立spring的配置文件(建议自己保留一份经常使用的配置文件,以后用到的时候直接copy改)
<!--[if !supportLists]--> iv. <!--[endif]-->建立数据库
<!--[if !supportLists]--> v. <!--[endif]-->加入Hibernate注解
<!--[if !supportLists]-->1. <!--[endif]-->在实体类上加相应注解@Entity @Id等
<!--[if !supportLists]-->2. <!--[endif]-->在beans配置文件配置对应的实体类,使之受管
<!--[if !supportLists]--> vi. <!--[endif]-->写dao service的实现
<!--[if !supportLists]--> vii. <!--[endif]-->加入Spring注解
<!--[if !supportLists]-->1. <!--[endif]-->在对应Service及DAO实现中加入@Component,让spring对其初始化
<!--[if !supportLists]-->2. <!--[endif]-->在Service上加入@Transactional或者使用xml方式(此处建议后者,因为更简单)
<!--[if !supportLists]-->3. <!--[endif]-->在DAO中注入sessionFactory
<!--[if !supportLists]-->4. <!--[endif]-->在Service中注入DAO
<!--[if !supportLists]-->5. <!--[endif]-->写DAO与Service的实现
<!--[if !supportLists]--> viii. <!--[endif]-->写测试
<!--[if !supportLists]-->c) <!--[endif]-->整合Struts2
<!--[if !supportLists]--> i. <!--[endif]-->结合点:Struts2的Action由Spring产生
<!--[if !supportLists]--> ii. <!--[endif]-->步骤:
<!--[if !supportLists]-->1. <!--[endif]-->修改web.xml加入 struts的filter
<!--[if !supportLists]-->2. <!--[endif]-->再加入spring的listener,这样的话,webapp一旦启动,spring容器就初始化了
<!--[if !supportLists]-->3. <!--[endif]-->规划struts的action和jsp展现
<!--[if !supportLists]-->4. <!--[endif]-->加入struts.xml
<!--[if !supportLists]-->a) <!--[endif]-->修改配置,由spring替代struts产生Action对象
<!--[if !supportLists]-->5. <!--[endif]-->修改action配置
<!--[if !supportLists]-->a) <!--[endif]-->把类名改为bean对象的名称,这个时候就可以使用首字母小写了
<!--[if !supportLists]-->b) <!--[endif]-->@Scope(“prototype”)不要忘记
<!--[if !supportLists]--> iii. <!--[endif]-->struts的读常量:
<!--[if !supportLists]-->1. <!--[endif]-->struts-default.xml
<!--[if !supportLists]-->2. <!--[endif]-->struts-plugin.xml
<!--[if !supportLists]-->3. <!--[endif]-->struts.xml
<!--[if !supportLists]-->4. <!--[endif]-->struts.properties
<!--[if !supportLists]-->5. <!--[endif]-->web.xml
<!--[if !supportLists]--> iv. <!--[endif]-->中文问题:
<!--[if !supportLists]-->1. <!--[endif]-->Struts2.1.8已经修正,只需要改i18n.encoding = gbk
<!--[if !supportLists]-->2. <!--[endif]-->使用spring的characterencoding
<!--[if !supportLists]-->3. <!--[endif]-->需要严格注意filter的顺序
<!--[if !supportLists]-->4. <!--[endif]-->需要加到Struts2的filter前面
<!--[if !supportLists]--> v. <!--[endif]-->LazyInitializationException
<!--[if !supportLists]-->1. <!--[endif]-->OpenSessionInViewFilter
<!--[if !supportLists]-->2. <!--[endif]-->需要严格顺序问题
<!--[if !supportLists]-->3. <!--[endif]-->需要加到struts2的filter前面
相关推荐
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
马士兵Spring课堂笔记(详细版) 马士兵spring视频笔记
马士兵Spring课堂笔记(超级详细版) 本资源主要讲解了Spring框架的基础概念和应用,涵盖了面向接口编程、IOC/DI、AOP、Spring应用IOC/DI、Spring应用AOP、Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合、Spring...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
### 马士兵Spring学习笔记知识点汇总 #### 一、面向接口编程(面向抽象编程) **概念:** 面向接口编程是指在设计系统时,尽量通过接口来定义各个组件之间的交互方式,而不是直接依赖于实现类。这种方式使得系统...
马士兵老师的MyBatis学习笔记主要涵盖了以下几个核心知识点: 1. **MyBatis安装与环境搭建**:首先,你需要配置Java开发环境,并了解Maven或Gradle构建工具,因为MyBatis通常与这些工具结合使用来管理依赖。然后,...
根据提供的文件信息,我们可以归纳出一系列关于Spring框架的关键知识点,主要围绕着面向接口编程、IOC/DI、AOP以及Spring框架的基本使用等几个方面展开。 ### 面向接口编程 面向接口编程(面向抽象编程)是一种...
马士兵Springboot课堂笔记
最后,“Spring学习笔记(马士兵spring视频笔记).doc”涵盖了Spring框架的关键内容。Spring是一个全面的企业级应用框架,提供了依赖注入(DI)、面向切面编程(AOP)、数据访问、Web应用、事务管理等多种功能。笔记中...
《马士兵S2SH笔记》是一份集合了Struts2、Spring和Hibernate三大框架学习精髓的资料合集,由他人整理并基于马士兵老师的教学内容编撰而成。这份笔记旨在帮助学习者深入理解和掌握Java Web开发中的核心组件,构建高效...
### Spring5概述与IOC原理及应用 #### Spring5框架概览 Spring框架是一个开源的Java平台,用于构建企业级应用程序和服务。Spring5是该框架的一个重要版本,它提供了丰富的功能来帮助开发者简化Java应用程序的开发...
马士兵Spring学习笔记2011.doc可能涵盖了Spring的IoC容器、AOP、Bean的生命周期、数据访问(如JDBC、Hibernate集成)、Spring MVC以及Spring Boot等内容。 综合这三个框架,SSH组合提供了从前端到后端的完整解决...
8. **Spring与Hibernate**(马士兵spring.doc、马士兵hibernate学习笔记(文字整理版).doc):虽然Spring和Hibernate属于JavaEE领域,但它们也常在JavaSE项目中使用。Spring是一个全面的框架,涵盖依赖注入、AOP、MVC...
JavaSE+JavaEE企业级开发 全程笔记免费下载,内容详尽,doc文档,共173页,六号字体,双栏排版。 *、Java 基础, *、web, *、数据库(Mysql Oracle jdbc Hibernate hql/sql), *、JSP, *、Ajax *、Struts, *、...
SpringMVC1,回顾MVC1.1,什么是MVC MVC是模型(Model),视图(View),控制器(Controller)的简写,是一种软件设计规范。是将数据,显示,业务逻辑分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的...
SpringBoot是Spring框架的一种简化和快速开发方式,它旨在简化Spring应用的初始搭建以及开发过程。这个"springboot学习笔记源码"包含了基于JSP、JPA和FreeMarker的实践项目,非常适合初学者或者希望深入理解...
在提供的文件中,"马士兵hibernate学习笔记(原版)-你信不信_我反正是信了.doc"可能包含有关Hibernate的基础知识、配置、实体映射、查询等方面的内容,是学习和理解Hibernate的好资源。"Spring和Hibernate"可能涵盖了...
《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...
"马士兵Struts2学习笔记2011.doc"可能包含了马士兵教育机构早期对于Struts2框架的讲解,涵盖了2011年时Struts2的主要特性,比如动态方法调用、插件体系、Tiles视图技术、Spring集成以及Ajax支持等。动态方法调用允许...