Spring学习笔记二(2006.1.4)

【Python程序开发】湖南省职业院校技能大赛python程序开发赛项样题二 阅读详情

Spring学习笔记二(2006.1.4)

1,配置文件的配置头
<?xml version="1.0" encoding="UTF-8"?>

<!--
  - Application context definition for JPetStore's business layer.
  - Contains bean references to the transaction manager and to the DAOs in
  - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
  -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
这样写才对

2,配置文件可以使用多个属性文件
<!-- Configurer that replaces ${...} placeholders with values from properties files -->
 <!-- (in this case, mail and JDBC related properties) -->
 <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
   <list>
    <value>WEB-INF/mail.properties</value>
    <value>WEB-INF/jdbc.properties</value>
   </list>
  </property>
 </bean>
类是框架的。
里面包含两个属性文件,属性文件里都是“key=value”这种形式的。这样配置文件里就可以使用属性文件里的key,使用方法
${key},这样转移出属性设置,维护起来比较方便。

3,定义Validator供web层使用,自定义类。
<bean id="accountValidator" class="org.springframework.samples.jpetstore.domain.logic.AccountValidator"/>
类里面使用了ValidatorUtils系统类来进行处理。

4,服务层的定义。
 PetStoreImpl定义在配置文件中,是自己的类。
 所有的DAO都是它的属性,注意,DAO是interface,而不是class.
 PetStoreImpl中定义了所有的DAO接口作为属性,定义了他们的set方法,但是没有定义get方法。
 这样所有的业务操作就可以不用管DAO是如何实现的了,而只管使用这个PetStoreImpl就好了。

 DAO都是接口这种做法与平时开发不一样,我以前使用hibernate生成工具生成的dao都是默认好的实现类。
 而此处的DAO却都是接口。他们的实现方法是这样的:
 interface PetStoreFacade { } //定义所有的业务方法。
 interface AccountDao{} //定义所有帐户的业务方法。
 interface CategoryDao{} //定义类别的业务方法。
 interface ProductDao{} //定义产品的业务方法。
 。。。其他DAO接口,定义自己的业务方法。
 class PetStoreImpl implements PetStoreFacade //这个类就是一个javabean,操作的都是接口。
 //定义所有DAO接口当作自己的属性。
 //实现set方法
 //实现PetStoreFacade 定义的业务接口,实现的时候调用DAO接口的方法。

 如果是我自己,那么就会定义IDAO当作接口,因为hibernate插件自动生成dao类,容易混淆。
 
5,配置文件中定义dataSource
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}"/>
  <property name="url" value="${jdbc.url}"/>
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/>
 </bean>
 可见,可以直接使用properties中的key。另外可以将数据库操作弄成另外一个配置文件。只要在web.xml中设置好就可以了,
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
   /WEB-INF/dataAccessContext-local.xml  /WEB-INF/applicationContext.xml
  </param-value>
 </context-param>

6,配置文件中定义事务管理
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource"/>
 </bean>
 使用了数据源作为属性。

7,dao具体实现类。
 JPetStore使用ibatis作为ORM层。所以dao类的定义也都使用了ibatis。
 PetStoreImpl五个接口接受五个实现了对应接口的实现类。这里的实现类,
<bean id="petStore" class="org.springframework.samples.jpetstore.domain.logic.PetStoreImpl">
  <property name="accountDao" ref="accountDao"/>
  <property name="categoryDao" ref="categoryDao"/>
  <property name="productDao" ref="productDao"/>
  <property name="itemDao" ref="itemDao"/>
  <property name="orderDao" ref="orderDao"/>
 </bean>
 <bean id="accountDao" class="org.springframework.samples.jpetstore.dao.ibatis.SqlMapAccountDao">
  <property name="sqlMapClient" ref="sqlMapClient"/>
 </bean>
 实现类,使用ibatis。在配置文件中对英。
public class SqlMapAccountDao extends SqlMapClientDaoSupport implements AccountDao{
 //实现了业务接口,继承了ibatis基本类。
 }


8,ibatis基础类。
    <!-- SqlMap setup for iBATIS Database Layer -->
 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  <property name="configLocation" value="WEB-INF/sql-map-config.xml"/>
  <property name="dataSource" ref="dataSource"/>
 </bean>
 dao实现类都由他作属性。
    <bean id="accountDao" class="org.springframework.samples.jpetstore.dao.ibatis.SqlMapAccountDao">
  <property name="sqlMapClient" ref="sqlMapClient"/>
 </bean>

9,我竟然找不到action对应的mapping在什么地方定义的。
后来找到了是petstore-servlet.xml,by default defined in "{servlet-name}-servlet.xml"...
<!--
   - Spring web MVC servlet that dispatches requests to registered handlers.
   - Has its own application context, by default defined in "{servlet-name}-servlet.xml",
   - i.e. "petstore-servlet.xml" in this case.
   -
   - A web app can contain any number of such servlets.
   - Note that this web app has a shared root application context, serving as parent
   - of all DispatcherServlet contexts.
   -->
 <servlet>
  <servlet-name>petstore</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>2</load-on-startup>
 </servlet>
 原来是根据servlet名字命名影射文件的。
 影射文件和配置文件的结构完全一致,也是beans开头的。主要是web层的url影射,
 <beans>
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
  <property name="prefix" value="/WEB-INF/jsp/spring/"/>
  <property name="suffix" value=".jsp"/>
 </bean>
 ....
 </beans>
 ok,现在把petstore-servlet.xml也放到SpringIDE里察看。

10,配置文件petstore-servlet.xml
 viewResolver,定义了一个表现层的基本配置,此bean名字固定。
 属性viewClass使用了jstl技术。
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
  <property name="prefix" value="/WEB-INF/jsp/spring/"/>
  <property name="suffix" value=".jsp"/>
 </bean>

11,配置文件petstore-servlet.xml
 defaultHandlerMapping使用默认的BeanNameUrl影射,具体不太明白。
 <bean id="defaultHandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

12,配置文件petstore-servlet.xml
 定义*.do
<bean name="/shop/addItemToCart.do" class="org.springframework.samples.jpetstore.web.spring.AddItemToCartController">
  <property name="petStore" ref="petStore"/>
 </bean>
 属性petStore是在applicationContext.xml里定义的,看来这里也可以使用其他<beans>定义的bean。

13,*.do类研究
 实现了Controller,接口public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
 有一个属性petstore,是一个接口PetStoreFacade,包括全部业务逻辑接口。
 
14,首页index
 在mapping文件里定义了系统ParameterizableViewController,相当于forwardAction。
 <bean name="/shop/index.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
  <property name="viewName" value="index"/>
 </bean>
 而首页里大量使用了jstl语言,最重要的地方是所有 a href=, action=,处都使用了<c:url value="/xxxx"/>
 这样的定义,这样换域名或者设置虚拟目录名,就会运行正常了。例如,
<center>
<a href="<c:url value="/shop/viewCategory.do?categoryId=FISH"/>">
<img border="0" src="../images/sm_fish.gif" /></a>
<img border="0" src="../images/separator.gif" />
<a href="<c:url value="/shop/viewCategory.do?categoryId=DOGS"/>">
<img border="0" src="../images/sm_dogs.gif" /></a>
<img border="0" src="../images/separator.gif" />
<a href="<c:url value="/shop/viewCategory.do?categoryId=REPTILES"/>">
<img border="0" src="../images/sm_reptiles.gif" /></a>
<img border="0" src="../images/separator.gif" />
<a href="<c:url value="/shop/viewCategory.do?categoryId=CATS"/>">
<img border="0" src="../images/sm_cats.gif" /></a>
<img border="0" src="../images/separator.gif" />
<a href="<c:url value="/shop/viewCategory.do?categoryId=BIRDS"/>">
<img border="0" src="../images/sm_birds.gif" /></a>
</center>

15, 进入首页后点左边的链接都指向同一个viewCategory.do,
 <bean name="/shop/viewCategory.do" class="org.springframework.samples.jpetstore.web.spring.ViewCategoryController">
  <property name="petStore" ref="petStore"/>
 </bean>
 类研究:
 ViewCategoryController implement Controller
 里面只使用了PetStore实现类的方法,并没有DAO对象。只有Domain对象。
 很好,把主要的和业务相关的东西都在Controller中展现出来了,其他辅助的东西都被隐藏了,使得Controller非常简洁。
 另外,在业务PetStoreImp类中,使用了DAO,这样就使得后台程序也开始分层了。
 
 |--层Controller及使用的daomain对象 /// 第一层
            |----层PetStoreFacade 接口及他的实现类PetStoreImpl //第二层
   |-------- 层DAO接口 ,DAO接口实现类,//第三层
    |------------实现类中使用的ORM类  //第四层
 层次非常的分明。
    
 daomain符合javabean规范,并且有些javabean还有自己的public方法。大多数javabean没有必要有public方法。

16, 点击分类后,显示分类中的items,点items可以进入viewProduct.do?productId=xxx,来观看产品。
 <bean name="/shop/viewProduct.do" class="org.springframework.samples.jpetstore.web.spring.ViewProductController">
  <property name="petStore" ref="petStore"/>
 </bean>
 这是一个翻页功能的Controller。
 没弄清楚成功后跳转到什么地方? return new ModelAndView("Product", model);没有理解。
 
public class ModelAndViewextends ObjectHolder for both Model and View in the web MVC framework. Note that these are entirely distinct. This class merely holds both to make it possible for a controller to return both model and view in a single return value.

Class to represent a model and view returned by a handler used by a DispatcherServlet. The view can take the form of a reference to a View object, or a String view name which will need to be resolved by a ViewResolver object. The model is a Map, allowing the use of multiple data objects keyed by name.

public ModelAndView(String viewName,
                    Map model)Creates new ModelAndView given a view name and a model.

Parameters:
viewName - name of the View to render, to be resolved by the DispatcherServlet
model - Map of model names (Strings) to model objects (Objects). Model entries may not be null, but the model Map may be null if there is no model data.

这样viewName就知道了,返回给DispatcherServerlet,再根据viewResolver中的定义,就可以知道是/jsp/spring/Product.jsp了。
也就是说,viewName也就是jsp文件的名字。

17,ModelAndView传递给页面之后页面如何使用其中的数据 ?
 Controller传递的model是一个map,一共传递了两个key-value对。
 model.put("itemList", itemList);
 model.put("product", product);
 ok,看jsp页面。<c:out value="${product.name}"/>
<c:forEach var="item" items="${itemList.pageList}">
  <tr bgcolor="#FFFF88">
  <td><b>
  <a href="<c:url value="/shop/viewItem.do"><c:param name="itemId" value="${item.itemId}"/></c:url>">
    <c:out value="${item.itemId}"/>
  </a></b></td>
  <td><c:out value="${item.productId}"/></td>
  <td>
    <c:out value="${item.attribute1}"/>
    <c:out value="${item.attribute2}"/>
    <c:out value="${item.attribute3}"/>
    <c:out value="${item.attribute4}"/>
    <c:out value="${item.attribute5}"/>
    <c:out value="${product.name}"/>
  </td>
  <td><fmt:formatNumber value="${item.listPrice}" pattern="$#,##0.00"/></td>
  <td><a href="<c:url value="/shop/addItemToCart.do"><c:param name="workingItemId" value="${item.itemId}"/></c:url>">
    <img border="0" src="../images/button_add_to_cart.gif"/>
  </a></td>
  </tr>
</c:forEach>
原来是把key当作attributename放到了request范围内了。这样就ok了,model的key实际上就是request的属性名字啊。
 model的value就是request的属性值。jstl真正发挥简洁的威力了。

18,viewProduct.do里还有一个翻页的逻辑,没看明白怎么回事。


19,viewProduct.do之后再点链接就进入了viewItem.do,相对简单。不用看了。
PagedListHolder itemList = new PagedListHolder(this.petStore.getItemListByProduct(productId));
java.lang.Object
  org.springframework.beans.support.PagedListHolder
PagedListHolder is a simple state holder for handling lists of objects, separating them into pages. Page numbering starts with 0.
Constructor Summary
PagedListHolder()
          Create a new holder instance.
PagedListHolder(List source)
          Create a new holder instance with the given source list, starting with a default sort definition (with "toggleAscendingOnProperty" activated).
PagedListHolder(List source, SortDefinition sort)
          Create a new holder instance with the given source list.
 boolean isFirstPage()
          Return if the current page is the first one.
 boolean isLastPage()
          Return if the current page is the last one.
 void nextPage()
          Switch to next page.
 void previousPage()
          Switch to previous page.
 可以排序。可以设置页数。
这个类明显是把所有的结果一次性查询出来后,设定每页个数,之后再把当页数据发送给页面。虽然不是把全部数据发送给页面由页面来分页,但是一次把全部数据都查询出来的做法只适合少量数据。如果多量数据几万条的话同时查出来,存放到session,用不了多久服务器的内存就被耗光了。
还不太清楚放到session中的对象什么时候被晴空,好像只有在退出的时候才晴空一次。

20,addItemToCart.do?workingItemId=EST-11,代码很清楚。有两点主意:
 一,webUtil org.springframework.web.util.webUtil提供了有限的几个方法。
 二,return new ModelAndView("Cart", "cart", cart); // Cart.jsp , key ,value
 因为不熟悉ibatis所以ORM层的代码都没有阅读,也就是PetsoreImpl实现类的各个DAO实例都没有阅读。

    removeItemFromCart.do?workingItemId=EST-11 也是同一页面上的购物车操作 ,过于简单。略
 updateCartQuantities.do //更新的是内存中的数据,所以没有什么技术。

21,checkout.do有一点需要注意,别的Controller没有传入viewName。它传了,
 <bean name="/shop/checkout.do" class="org.springframework.samples.jpetstore.web.spring.ViewCartController">
  <property name="successView" value="Checkout"/>
 </bean>
 Controller中:
 private String successView;

 public void setSuccessView(String successView) {
  this.successView = successView;
 }
 最后return new ModelAndView(this.successView, "cart", cart);

一觉醒后ChatGPT 被淘汰了 近日,AI 界貌似出现了一种新的趋势:自主人工智能。这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬:「AutoGPT 是 prompt 工程的下一个前沿。」 阅读详情

相关推荐

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

python03011的博客 3754

Spring配置文件中配置property标签的name和ref的区别

关于Spring的配置的 <bean id="person" class="service.Person"> <property name="axe" ref="axe"></property> </bean> 这里的name和ref虽然是同名的但是name是指Person类中的参数,Person类中有一个Axe类型名叫axe的对象...

qq_43612151的博客 628

头歌平台 操作系统课堂练习2.3:系统调用

使用 gdb 调试内核,跟踪到 main 函数入口的方法与之前实训一样。系统运行时,执行的前 3 个系统调用的编号和名字分别是什么?系统运行时,执行的前 3 个系统调用的编号和名字分别是什么?本关卡使用版本 1 内核进行分析,版本 1 内核文件存放在。为了完成本关任务,你需要:跟踪系统调用的发生。此时,系统调用号存放在寄存器 eax 中。

lazbuyaotoutu的博客 2万+

Interface21/Spring at Oracle OpenWorld 2006 是一个在2006年举办的关于Java框架Spring的专题讨论会

在Interface21/Spring at Oracle OpenWorld 2006上,与会者有机会听到来自Spring社区的专家分享他们的经验和见解,了解Spring框架的新功能和改进,以及如何有效地使用Spring来解决实际问题。该活动是在Oracle OpenWorld 2006大会上的一部分,旨在展示和讨论Spring框架的最新进展、最佳实践以及与其他技术的集成。同时,Spring Boot作为Spring的子项目,提供了快速启动和微服务架构的支持。

[Blog][Domain] programb.blog.youkuaiyun.com 192

算法面试准备 - 手撕系列第五期 - 单头注意力机制(包括Self_atten和Cross_atten)

算法面试准备 - 手撕系列第五期 - 单头注意力机制(包括Self_atten和Cross_atten)

m0_62030579的博客 3608

Cursor+Apifox MCP Server实战:5分钟搞定API自动化测试用例生成

本文详细介绍了如何利用Cursor IDE与Apifox MCP Server,在5分钟内将API文档自动转化为高质量的自动化测试用例。通过配置MCP Server建立数据桥梁,开发者可直接用自然语言指令,让AI基于真实接口规范生成可立即执行的pytest测试代码,大幅提升接口测试效率,特别适合快节奏的SaaS项目。

ooo22的博客 534

Spring MVC 的 multipartResolver 不能同iWebOffice2006 共同使用

项目使用iWebOffice2006,本来可以正常使用,但是系统有文件上传需求,故定义了一个multipartResolver,后发现 iWebOffice2006 控件不能正常使用! 解决办法有两个,一是不使用Spring 的 multipartResolver 进行文件上传,二是将iWebOffice2006 的serverurl替换成一个jsp或者servlet实现,而不用spring...

jamesby 149

GPIB通讯的代码怎么写

GPIB(General Purpose Interface Bus)是一种用于连接计算机和测试设备的接口标准。 在写 GPIB 通讯的代码时,首先需要在计算机上安装 GPIB 驱动程序。然后,使用相应的编程语言和 GPIB 库函数来操作 GPIB 设备。 下面是一个使用 Python 语言和 pyvisa 库来实现 GPIB 通讯的示例代码: import visa# 创建 Visa 资源管理器...

weixin_35752645的博客 1546

一个程序员充实的2006

序  已经是2007年了,拿到的很多杂志都是2006年度特别版本,这里也跟着学习一下,对作为一个程序员、一个开源人的我作一个年度总结,拿来跟大家分享。一、学习 《四书五经》,看了几十页就读不下去了,那个痛苦啊,就像很多搞惯asp或php粗糙简单开发的人想要学习充斥精妙艺术的java一样难,更像那些搞java的为了跟着牛牛去学习使用大师们搞的具有“更高深艺术”的Rails,而不得不去学习语法格式充斥

蔡世友-重出江湖 1万+

DeepSeek + 微信:手把手教你把 AI 接入个人微信,秒变“高情商”聊天助手(防封指南)

将 DeepSeek 接入微信,本质上是给你的微信装了一个**“最强外挂”**。它不仅能帮你回消息,还能帮你写周报、查资料、甚至陪聊解闷。工具是服务于人的,不要让 AI 完全替代了你的真情实感。毕竟,真正的高情商,是屏幕背后那个在乎对方的你。先申请一个小号,按照步骤跑通流程。然后试着调整 Prompt,训练一个属于你自己的“嘴替”吧!

BUG猿的博客 957

[STM32F103C8T6]W5500+Modbus TCP(HAL库)

本章节是博主学习Modbus TCP所写的一篇文章Modbus TCP是Modbus的一个分支,主要用到网口通信的,在工业上也用的很频繁,我们公司最近的项目就是用的W5500+modbus TCP来和PC端的上位机通信和交互的。虽然这个项目不是我在写代码,但是我都学了Modbus RTU了,那我也抽空学习一下Modbus TCP吧。本次的Modbus TCP不是博主写的,是一个大佬开源的一个W5500写的一个Mobus TCP代码,我在这个基础上自己写了主机读从机多个数据,和主机写从机寄存器的函数。

sinat_58149788的博客 4086

Spring Framework 2.0 M1(里程碑版本1)于2006年10月发布,标志着Spring框架一次重大升级的开始

- 所有M1中标记为 `@Deprecated` 或 `@Beta` 的API被清理或转正,如 `AbstractDependencyInjectionSpringContextTests` 被更健壮的 `AbstractJUnit23SpringContextTests`/`AbstractJUnit38SpringContextTests` 替代; - AOP代理机制优化:CGLIB代理默认启用(无需手动配置`proxy-target-class="true"`),且与JDK动态代理共存逻辑更鲁棒;

[Blog][Domain] programb.blog.youkuaiyun.com 470

S7-200SMART 中如何实现单按钮启停功能(两种方法)?

S7-200SMART 中如何实现单按钮启停功能(两种方法),Toggle库指令,状态翻转

Robot_PLC_HMI_Automation 1万+

Spring LDAP 1.1 Released

Releases Mattias Arthursson August 28, 2006 Dear Spring Community, We are pleased to announce that Spring LDAP version 1.1 has been released. This is the first release of the library as a Spring Frame...

[Blog][Domain] programb.blog.youkuaiyun.com 343

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Spring Framework 2.0 RC2(Release Candidate 2)于2006年10月发布

- **侵入性强**:Bean 类需添加 Spring 特定注解(如 `@Autowired`、`@Component`),违反“POJO 纯净性”原则,降低框架可移植性(如切换到 Guice 或 Micronaut 需大量改造)。 - **配置与逻辑耦合**:依赖声明混入业务类源码,可能干扰关注点分离;某些团队认为“配置应集中管理”,便于审计与环境差异化(如 dev/test/prod 的 Bean 替换)。

[Blog][Domain] programb.blog.youkuaiyun.com 497

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

21Spring学习笔记1_韩顺平

Spring学习笔记_韩顺平 文章目录1 Spring基本介绍1.1 Spring学习的核心内容1.2 Spring的相关概念2 Spring快速入门3.1 第1步 新建项目3.2 第2步 选择Spring3.3 第3步 输入项目名称3.4 第4步 开发Monster.java3.5 第5步 配置bean文件3.6 第6步 测试类IOCTest3 Spring配置bean3.1 通过类型类获取bean3.2 通过构造器配置bean3.3 通过p名称空间配置bean...

tangguanlin2008的博客 591

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

淡品书 - 我看2006Java书籍

【未经许可,严禁转载】       2006已过去,挑了一些2006年出版的Java书籍,谈谈我的看法。       权衡考虑,只打算讲讲好的,没讲到的不一定就差,很多是我没买、没看的,所以就不应该评论。       当然,一些自己感觉差的书,是更不应该评论的,一是书评和评论者主观想法很有关系,不容易做到客观,乱批评就容易变成“乱弹琴”;另一方面也是不愿意得罪人,但如果不是针对特定某书或是某作者的

Lu Junxiang's Blog 1821

Spring学习笔记二

Spring学习笔记二(2006.1.4)1,配置文件的配置头  - Application context definition for JPetStores business layer.  - Contains bean references to the transaction manager and to the DAOs in  - dataAccessContext-loc

lucifer1016的专栏 717

Java架构师之路 Spring学习笔记(一) Spring介绍

前言   这是一篇原创的Spring学习笔记。主要记录我学习Spring4.0的过程。本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审视下目前自己所掌握的Java基础可能后续会有很多笔记去记录我温习Java的过程。但这个是我Java的开端,希望我自己能够坚持下去,一天一篇,每天记录我的成长。成为Java架构师是我的梦想,我知道...

weixin_30469895的博客 141

Spring学习笔记

Spring学习笔记一、Spring概述Spring 简介Spring 发展历程Spring 的优势Spring 的核心结构二、核心思想IoCAOP三、手写实现 IoC 和 AOP第一步:实现容器第二步:实现xml读取并注册第三步:实现依赖注入第四部:实现事务的AOP四、Spring IOC源码深度剖析Spring IoC容器初始化主体流程BeanFactory创建流程BeanFactory获取子流程BeanDefinition加载、解析及注册子流程Bean创建流程lazy-init 延迟加载机制原理Spr

shanbaobin的博客 306

Spring Framework 2.1 M4 已经发布,这个里程碑版本引入了一些新特性和改进

Spring Shell 2.1.0-M4 带来了一些值得注意的变化,包括执行目标可以是 Function 或 Consumer、在 SingleItemSelector 中公开默认选项、删除 spring-shell-test-samples、添加 ComponentFlow 的自动配置、更新 boot 2.6.4、重做命令子系统、动态注册命令、UI 组件的 Flow system 以及对 JCommander 的原生支持等。我们得出的结论是,这大大超出了我们最初为Spring 2.1计划的计划。

[Blog][Domain] programb.blog.youkuaiyun.com 526

又到预测时,what will be cool in 2006?

原文出处及讨论: http://www.blogjava.net/calvin/archive/2005/12/04/22390.html作者:江南白衣 2005就这样完了,ONJava的年终总结: 2005 Year in Review。TSS年初开会时讲得专家们自己都开始有点厌倦的EJB3,JSF1.2,Ajax,AOP的三宗合一,SOA和ESB,Groovy,还是没有一个stable的东

花钱的年华 2815

2006 Java技术的赢家和输家

Here are my winners and, yes, even losers for the most and least innovative and/or impacting Java technologies in 2006…Here are the winners:Java IDE Platform/general Java Framework* NetBeans IDE

纯月部落 4411

Spring Framework 2.0 M4 Released

Releases Juergen Hoeller April 24, 2006 Dear Spring community, We are pleased to announce that Spring 2.0 M4 has been released. Download | Docs | Changelog Spring 2.0 M4 is the fourth milestone of th...

[Blog][Domain] programb.blog.youkuaiyun.com 294
上一篇: Eclipse看源码
下一篇: Spring学习笔记一(2005.12.30)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值