Java 三大框架常用的技术_Spring部分

Java 三大框架常用的技术

Spring技术:(我懂的我才写,我也不知道对不对,写在这里主要是我的个人笔记。不对别骂人,呵呵)

1.      Spring mvc

很多企业只使用Spring+Hibernate框架,不使用Struts2+hiber+Spring

2.      Spring上下文

Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如:国际化,(org.springframework.web.servlet.i18n.SessionLocaleResolver)字符编码(org.springframework.web.filter.CharacterEncodingFilter)

3. AOP注入(面向切面编程(也叫面向方面))(事务管理机制体现)

通过配置管理特征。Spring AOP模块直接将面向方面的编程功能集成到Spring框架上来了。典型的应用是:事务管理。这个本人认为Spring对我最实用的地方,感觉没它不行。写方法的时候,我就不用去管如果插入不成功,我要手动去删除以前保存的数据。只关心我要做的事情。我称之为:面向方面编程让面向对象编程更面向对象编程。我不知道说得对不对,我是这样说的。例如:

sPart = (SPart)this.getHibernateTemplate().merge(sPart);

this.getHibernateTemplate().flush();

上面的语句已经被提交,可以查询出来,并且已经有id了。原则上在数据库已经存在。但是,如果在同一个事务中的其他方法不成功,这些数据在被删除(回

 

4. Spring定时器(quartz

系统中很多时候都需要定时做某件事的需求,比如:定时更新首页新闻、定时更新查询索引,定时修改一些数据等等。

 

5. IOC模式(控制反转(依赖注入))

核心容器的主要组件是BeanFactory,他是工厂模式的实现,BeanFactory使用了控制反转(IOC)模式将应用程序的配置和依赖行规范与实际应用代码分开。另外一个名为:依赖注入

我个人对IOC一直印象不深刻。因为有了它让我获得太舒服了。还以为我本来就这样写,这样写天经地义,就像我们对父母的好容易忽视一样。例如下面的代码:

1、在测试类、main方法中:

ApplicationContext context = new FileSystemXmlApplicationContext(  
                    "applicationContext.xml");  
            Animal animal = (Animal) context.getBean("animal");  
            animal.say(); 

2、在控制器中:

   private ISysCountService sysCountService = null;

   publicvoid setSysCountService(ISysCountService            sysCountService) {

      this.sysCountService = sysCountService;

}

这些都不陌生吧,但是这是ICO模式的实例。我注意到这个地方是因为有一个新同事进公司,访问数据不成功。后来我帮他加上了这个就行了。他就问我为什么呢?我说注入啊。他又问:注入怎么呀?我脑子一翁,“对呀,注入什么呀?当然是注入服务接口,让控制器能直接调用我们在接口的方法,但为什么这样注入,注入后访问的原理是什么呢?”我都蒙了。读书的时候去想过,后来没注意。原理这里就不写了,本文主要是记录Spring有哪些常用的功能在项目可以见到。

 

6. Spring DAO

IOC在项目的使用过程会有它的影子:

<bean name="/login.htm" class="cn.com.union.controller.LoginController">

      <property name=" sysCountService"

ref=" sysCountService" />

      <property name="methodNameResolver"             ref="methodNameResolver" />

   </bean>

<property name="sysCountService"中的sysCountService在控制器中找到吧?不是 IOC注入的服务接口嘛。ref=" sysCountService"指向bsoBean.xml

<bean id=" sysCountService"

      class="cn.com.union.bso.SysCountServiceImp">

      <property name="sessionFactory" ref="sessionFactory" />

      <property name="dataBaseAdapter" ref="dataBaseAdapter" />

   </bean>

这个类是接口的实现类,终于见到和DAO有点关系了。

7. Spring ORM

这个我是实在想不通,这个名词是偶然见到的。ORM(Object/Relation Mapping的简称),从名字看,我最先想到的数Hibernate的事呀,怎么是Spring ORM来啦。在项目中找有没有它的影子呢?

applicationContext.xml发现与实体类相关的影子的代码,不知道对不对。

<bean id="sessionFactory"

      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

      <property name="dataSource" ref="dataSource" />

      <property name="mappingDirectoryLocations">

        <list>

           <value>classpath:/cn/com/adtech/riss2/domain</value>

        </list>

      </property>

看到这里我突然想起我当时学编程的时候,没有把Hibernate和Spring分开讲,连接数据库一致都是用这样的配置方式。所以没有印象。在马士兵的视频教程-Hibernate篇好像单独配置Hibernate连接数据库不是这样连接的。我就记得我们老师当年把两个结合起来讲的理由是:现在大部分企业级应该都是用Spring提供的配置方式代替Hibernate的配置方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值