签订网站建设协议 注意事项,校园网站建设重要性,网站网络推广公司,南京网站建设网站制作第一章 认识Spring 1、Spring提供的IOC容器#xff0c;是Spring大杀器之一。容器将对象之间的依赖关系交给Spring进行控制#xff0c;采用配制的方式对依赖关系进行描述#xff0c;由Ioc容器负责依赖类之间的创建、拼接、管理、获取工作 2、Spring提供的第二大杀器#xff…第一章 认识Spring 1、Spring提供的IOC容器是Spring大杀器之一。容器将对象之间的依赖关系交给Spring进行控制采用配制的方式对依赖关系进行描述由Ioc容器负责依赖类之间的创建、拼接、管理、获取工作 2、Spring提供的第二大杀器就是对AOP面向切面编程的支持。 3、Spring Data让对数据的访问更加容易。 第二章 IOC 1、通过BeanFactory启动IOC容器的时候并不会初始化配置文件中的Bean初始化动作发生在第一个调用的时候。对于单例的Bean来说BeanFactory会缓存该实例第二次调用的时候直接从缓存中获取该bean。 2、ContextApplication在初始化应用上下文的时候就实例化所有的单例bean因此启动时间会比BeanFactory长但是没有第一次调用惩罚问题。 3、WebApplication是专门为Web而准备的从WebApplication可以获得ServletContext的引用ServletContext是web应用的上下文。WebApplication的初始化方式和上述两种Factory有所不同因为需要ServletContext实例所以必须在拥有web容器的前提下才能完成启动工作。 Spring提供了两种方式用于初始化WebApplicationContextServletContext监听器、自启动Servlet。其中只有Servlet2.3以上版本的Web容器才支持ServletContext监听器方式初始化WebApplicationContext。具体如何配置带后文补充。。。。。 4、容器、配置信息、应用实现之间的关系个人认为这张图很能说明问题 5、采用util命名空间配置集合类的bean采用p命名空间简化配置 6、Bean的作用域 第五章Hibernate 1、Hibernate4建议使用与线程绑定的原声CurrentSession不再使用HibernateTemplate。 2、延迟加载的问题。 Hibernate允许对关联属性、对象进行延迟加载但是必须保证延迟加载的操作限于同一个额 Hibernate Session 范围之内。如果Service层返回一个启用了延迟加载功能的领域对象给Web层当Web层访问到那些需要延迟加载的数据的时候由于加载领域对象的Hibernate Session已经关闭将导致延迟加载数据的访问异常。 Spring为此专门提供了一个OpenSessionViewFilter过滤器主要供您能就是让每个请求过程绑定一个HibernateSession即使最初的事务已经完成了也可以在Web层进行延迟加载的操作。 OpenSessionViewFilter过滤器将Hibernate Session绑定到请求线程中它将自动被Spring的事务管理器探测到。所以OpenSessionViewFilter适用于Service层使用HibernateTransactionManger或者JtaTransactionManger进行事务管理的环境也可以用于非只读事务的数据操作中。 要启用这个过滤器必须在web.xml中进行配置 filter filter-nameopenSessionInViewFilter/filter-name filter-classorg.springframework.orm.hibernate4.support.OpenSessionInViewFilter/filter-class init-param param-namesingleSession/param-name param-valuetrue/param-value /init-param /filter filter-mapping filter-nameopenSessionInViewFilter/filter-name url-pattern*.action/url-pattern /filter-mapping 补充一下Spring针对Hibernate的非JPA实现用的是OpenSessionInViewFilter如果采用Spring Data JPA使用的是OpenEntityManagerInViewFilter 第7章SpringMVC 1、controller中如果希望方法入参也添加到模型中只需要在相应的入参前面使用ModeAttribute 2、Spring MVC在调用方法前会创建一个隐含的模型对象作为模型数据的存储容器。如果处理方法的入参为Map或者Model类型org.springframework.ui.Model类似于Map比Map更易用SpringMVC会将隐含模型的应用传递给这些入参。于是开发者可以通过这个入参访问到模型中的所有数据也可以向模型中添加新的属性数据。 3、Spring3.0有自己独立的校验框架同时支持JSR303标准的校验框架但是本身并不提供JSR303的实现可以包含HibernateValidatorJSR303的实现jar供Spirng使用。如下 dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-validator/artifactIdversion4.3.1.Final/version/dependency LoacalValidateorFactoryBean实现了Spirng的Validator接口同时也实现了JSR303的Validator接口。只要在Spring容器中定义一个LocalValidatorFactoryBean即可。与此同时Spring提供的标签mvc:annotation-driven/会默认装配好一个LocalValidatorFactoryBean不用我们再单独声明bean。 4、校验结果的返回 srpingMVC会将实施校验的结果保存在被校验入参对象之后的BindingResult对象或者Errors对象中同时这些校验结果也会保存在隐含模型中可以在JSP页面中通过form:errors path*或者form:errors pathuserName cssClasserrorClass来显示校验错误信息。转载于:https://www.cnblogs.com/mingziday/p/4747404.html