免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3030 | 回复: 5
打印 上一主题 下一主题

[分享]Spring学习笔记! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-02 14:16 |只看该作者 |倒序浏览
/**
* 阅前说明:
* 此文件为笔者在学习Spring时所写的一些笔记<br>
* 希望能抛砖引玉来促进大家以各种方式交流学习心得<br>
* 如有转载,为了尊重笔者的劳动成果,请保留此段说明<br>
* @author    贺小佼 HeXiaojiao<br>
* Email        ld_hxj1@yahoo.com.cn <br>
* QQ     88137099<br>
* Time         2008-04-14 16:43:43 <br>
* Blog    http://blog.csdn.net/hexiaojiao
*/
Day-01
问题提出:
框架的主要优势是什么?
请简要描述Spring?
Spring框架分为哪几个模块,请详述?
Spring有哪些注入方式,请详细描述?
1.在Setter注入方式中,在beans包下的ProductBean中只加入一个带参数的构造方法会如何?
2.在config.xml中少加一property项会如何?
3.Spring中有哪些集合注入,如何注入?
4.问:如何设置单例模式?有什么作用和特殊效果?
5.问:什么叫混合注入模式,请举例说明?
6.问: Spring中如何进行类型数据的设置
7.问:Spring支不支持数据类型自动转换?构造器复杂情况有哪些?
8.问:如果为嵌套属性(其属性为一个类)时如果配置?(Bean的引用如果配置)
9.问:Bean初始化方案有哪几种,请详述?
10.问:在bean类中(1)初始化接口方案、(2)构造方法与(3)初始化方法方案中各方法的执行顺序如何?
//=======================================================
问题解决:
//-------------------------------------------------------------------
----------   
框架的主要优势是什么?
请简要描述Spring?
Spring框架分为哪几个模块,请详述?
    答:Spring框架可分为七个模块,分别如下:
     1.核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
      2.Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
      3.Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
      4.Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
      5.Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
      6.Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 JakartaStruts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
      7.Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。
//-------------------------------------------------------------------
Spring有哪些注入方式,请详细描述?
    答: 通过注入方式,使程序解耦合
    一。通过构造器(构造方法)注入
构造器注入操作步骤:
   1.引入Spring架包,建包ioc.common 在这包下建立三个包
   ioc.common.beans,ioc.common.config,ioc.common.logic
   2.在beans包下建立UserBean类,代码如下:
  
   //UserBean.java
    package ioc.common.beans;
  public class UserBean {
         private String userName;
         private String userPassword;

          public UserBean() {
         }

          public UserBean(String userName, String userPassword) {
           this.userName = userName;
           this.userPassword = userPassword;
         }

          public String getUserName() {
           return userName;
         }

          public void setUserName(String userName) {
           this.userName = userName;
         }

          public String getUserPassword() {
           return userPassword;
         }

          public void setUserPassword(String userPassword) {
           this.userPassword = userPassword;
         }

         @Override
          public String toString() {
           return userName + "-" + userPassword;
         }
}

    3.在config包下建立config.xml文件,内容如下:
   
  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
         <bean id="userBean" class="ioc.common.beans.UserBean">
           <constructor-arg index="0">
             <value>Janet </value>
           </constructor-arg>
           <constructor-arg index="1">
             <value>88888888</value>
           </constructor-arg>
         </bean>
</beans>

    4.在logic包下建立Run.java,内容如下:
package ioc.common.logic;
import ioc.common.beans.UserBean;
import org.springframework.context.ApplicationContext;
import

org.springframework.context.support.FileSystemXmlApplicationContext;

  public class Run {
          public static void main(String[] args) {
           String fileName = "./src/ioc/common/config/config.xml";
           ApplicationContext ac = new FileSystemXmlApplicationContext

(fileName);
           // 取得一个实例
           UserBean user = (UserBean) ac.getBean("userBean");
           System.out.println(user);
         }
}
//end of Run.java

   
    框架:有固定流程的代码集合,代码中的流程能被反复重用
   
    备注:
    1.如果构造器(方法)中没有写任何代码又会如何?
    答:将会输出 null-null,Spring不关心构造器实现何种功能,只去调用执行;
    2.如果没有这个构造器会如何?
    答:将会使Spring找不到该构造器而产生异常      
    Exception in thread "main"

org.springframework.beans.factory.BeanCreationException:
    Error creating bean with name 'userBean' defined in file
   
[/home/tarena/corejava/JSP/SpringPrj/./src/ioc/common/config/config.xml]:
    2 constructor arguments specified but no matching constructor found in bean 'userBean' (hint: specify index and/or type arguments for simple parameters to avoid type ambiguities)

待续。。。。。。

论坛徽章:
0
2 [报告]
发表于 2008-06-09 10:19 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2008-06-09 17:15 |只看该作者

庆祝:广州达内颁发的培训证书获得了广州发改委的认定

广州达内颁发的培训证书获得了广州发改委的认定:
Tarena系列证书:
发证机构:加拿大达内外企IT培训集团广州中心
专业资格名称:Tarena Java高级软件工程师、Tarena .NET高级软件工程师、Tarena软件测试工程师、Tarena D.B.A高级数据库管理员、Tarena Unix高级系统管理员证书

信产部颁发的高级软件工程师比较难考,但是通过达内培训毕业后,就能申请免试获得这个证书。因为达内培训获得了信产部的认可。
获得达内的证书,就有资格申请广州市政府补贴30%学费了,在广州工作满一年后还能入户广州哦。

论坛徽章:
0
4 [报告]
发表于 2008-06-12 13:06 |只看该作者
多谢LZ分享,正在收藏当中。。。

论坛徽章:
0
5 [报告]
发表于 2009-12-14 11:07 |只看该作者
不错
没学过spring的人路过

论坛徽章:
26
卯兔
日期:2014-12-02 13:53:28射手座
日期:2015-03-22 23:40:50午马
日期:2015-03-22 23:41:25寅虎
日期:2015-03-22 23:41:41亥猪
日期:2015-03-22 23:42:22戌狗
日期:2015-03-22 23:42:51酉鸡
日期:2015-03-22 23:43:29申猴
日期:2015-03-22 23:43:51未羊
日期:2015-03-22 23:44:15子鼠
日期:2015-03-22 23:45:11丑牛
日期:2015-03-22 23:45:32辰龙
日期:2015-03-22 23:45:53
6 [报告]
发表于 2009-12-15 22:03 |只看该作者
一起学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP