您的位置:首页 > 编程语言 > Java开发

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

2013-01-18 09:33 399 查看
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的配置方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: