﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-豪情-随笔分类-Spring</title><link>http://www.blogjava.net/jikey/category/45139.html</link><description>JAVA交流：38611691</description><language>zh-cn</language><lastBuildDate>Tue, 06 Jul 2010 21:16:59 GMT</lastBuildDate><pubDate>Tue, 06 Jul 2010 21:16:59 GMT</pubDate><ttl>60</ttl><item><title>Spring持久化的异常处理和模板类的介绍 </title><link>http://www.blogjava.net/jikey/archive/2010/07/06/325351.html</link><dc:creator>豪情</dc:creator><author>豪情</author><pubDate>Tue, 06 Jul 2010 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/jikey/archive/2010/07/06/325351.html</guid><wfw:comment>http://www.blogjava.net/jikey/comments/325351.html</wfw:comment><comments>http://www.blogjava.net/jikey/archive/2010/07/06/325351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jikey/comments/commentRss/325351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jikey/services/trackbacks/325351.html</trackback:ping><description><![CDATA[http://java.ccidnet.com/art/3559/20070612/1109407_1.html
<img src ="http://www.blogjava.net/jikey/aggbug/325351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jikey/" target="_blank">豪情</a> 2010-07-06 11:33 <a href="http://www.blogjava.net/jikey/archive/2010/07/06/325351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring自定义编辑器</title><link>http://www.blogjava.net/jikey/archive/2010/06/03/322672.html</link><dc:creator>豪情</dc:creator><author>豪情</author><pubDate>Thu, 03 Jun 2010 13:00:00 GMT</pubDate><guid>http://www.blogjava.net/jikey/archive/2010/06/03/322672.html</guid><wfw:comment>http://www.blogjava.net/jikey/comments/322672.html</wfw:comment><comments>http://www.blogjava.net/jikey/archive/2010/06/03/322672.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jikey/comments/commentRss/322672.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jikey/services/trackbacks/322672.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 来自于：http://hi.baidu.com/universeioi/blog/item/ab2ee5efab85493127979154.htmlCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->前面我们所定义的属性都是几本的...&nbsp;&nbsp;<a href='http://www.blogjava.net/jikey/archive/2010/06/03/322672.html'>阅读全文</a><img src ="http://www.blogjava.net/jikey/aggbug/322672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jikey/" target="_blank">豪情</a> 2010-06-03 21:00 <a href="http://www.blogjava.net/jikey/archive/2010/06/03/322672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>控制反转与容器</title><link>http://www.blogjava.net/jikey/archive/2010/06/02/322558.html</link><dc:creator>豪情</dc:creator><author>豪情</author><pubDate>Wed, 02 Jun 2010 06:29:00 GMT</pubDate><guid>http://www.blogjava.net/jikey/archive/2010/06/02/322558.html</guid><wfw:comment>http://www.blogjava.net/jikey/comments/322558.html</wfw:comment><comments>http://www.blogjava.net/jikey/archive/2010/06/02/322558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jikey/comments/commentRss/322558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jikey/services/trackbacks/322558.html</trackback:ping><description><![CDATA[http://sarin.javaeye.com/blog/593207<br />
<img src ="http://www.blogjava.net/jikey/aggbug/322558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jikey/" target="_blank">豪情</a> 2010-06-02 14:29 <a href="http://www.blogjava.net/jikey/archive/2010/06/02/322558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring的工作原理</title><link>http://www.blogjava.net/jikey/archive/2010/05/27/322094.html</link><dc:creator>豪情</dc:creator><author>豪情</author><pubDate>Thu, 27 May 2010 15:14:00 GMT</pubDate><guid>http://www.blogjava.net/jikey/archive/2010/05/27/322094.html</guid><wfw:comment>http://www.blogjava.net/jikey/comments/322094.html</wfw:comment><comments>http://www.blogjava.net/jikey/archive/2010/05/27/322094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jikey/comments/commentRss/322094.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jikey/services/trackbacks/322094.html</trackback:ping><description><![CDATA[from:http://cuihongxin1030.javaeye.com/blog/405487<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">一、&nbsp;IoC(Inversion&nbsp;of&nbsp;control):&nbsp;控制反转<br />
1、IoC：<br />
概念：控制权由对象本身转向容器；由容器根据配置文件去创建实例并创建各个实例之间的依赖关系<br />
核心：bean工厂；在Spring中，bean工厂创建的各个实例称作bean<br />
二、AOP(Aspect-Oriented&nbsp;Programming):&nbsp;面向方面编程<br />
1、&nbsp;代理的两种方式：<br />
静态代理：<br />
&nbsp;针对每个具体类分别编写代理类；<br />
&nbsp;针对一个接口编写一个代理类；<br />
动态代理：<br />
针对一个方面编写一个InvocationHandler，然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类<br />
2、&nbsp;AOP的主要原理：动态代理<br />
<br />
<br />
<br />
Spring工作原理<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Spring&nbsp;已经用过一段时间了，感觉Spring是个很不错的框架。内部最核心的就是IOC了，<br />
动态注入，让一个对象的创建不用new了，可以自动的生产，这其实就是利用java里的反射<br />
反射其实就是在运行时动态的去创建、调用对象，Spring就是在运行时，跟xml&nbsp;&nbsp;Spring的配置<br />
文件来动态的创建对象，和调用对象里的方法的&nbsp;。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Spring还有一个核心就是AOP这个就是面向切面编程，可以为某一类对象&nbsp;进行监督和控制（也就是<br />
在调用这类对象的具体方法的前后去调用你指定的&nbsp;模块）从而达到对一个模块扩充的功能。这些都是通过<br />
配置类达到的。<br />
&nbsp;&nbsp;&nbsp;Spring目的：就是让对象与对象（模块与模块）之间的关系没有通过代码来关联，都是通过配置类说明<br />
管理的（Spring根据这些配置&nbsp;内部通过反射去动态的组装对象）<br />
&nbsp;&nbsp;&nbsp;要记住：Spring是一个容器，凡是在容器里的对象才会有Spring所提供的这些服务和功能。<br />
Spring里用的最经典的一个设计模式就是：模板方法模式。（这里我都不介绍了，是一个很常用的设计模式）<br />
&nbsp;&nbsp;Spring里的配置是很多的，很难都记住，但是Spring里的精华也无非就是以上的两点，把以上两点跟理解了<br />
也就基本上掌握了Spring. <br />
</span></div>
<br />
<a href="http://juziku.javaeye.com/" target="_blank">sunlightcs</a> (架构师)的说法：<br />
struts是一个MVC框架，当用户浏览网页的时候，呈现给用户的页面就是V，当用户发送请求的时候，就会在struts的配置文件里到处理此请求的
ACTION（这就是C），ACTION调用相应的业务组件，完成相应的业务时（这就是M），又会到struts的配置文件里寻找对应的页面，返回页面给
用户。整个流程就这个样子。
<br />
其中M层做的事比较多，所有的业务功能都在这里实现（当然也有一些不规范的写法，把业务写在ACTION里），如果要与数据库交互，M层就要调用
数据库了，通过Hibernate实现，Hibernate主要是跟数据库打交道.
<br />
其中，所有的业务功能及ACTION以及DAO都可以交给SPRING管理，SPRING的最常用的功能是IOC、AOP，IOC就是通过依赖注
入把所有的BEAN交给SPRING管理；AOP实现的功能很多，比如：所有的服务层都要有事务，可以通过AOP拦截所有服务层的类，再通过IOC把事务
注入进去了。<br />
SSH整合：<br />
http://www.blogjava.net/action/archive/2007/08/28/140566.html<br />
SSH在项目中的作用及原理<br />
http://blog.csdn.net/dustin_ren/archive/2009/03/31/4038601.aspx<br />
自己动手写spring<br />
http://www.javaeye.com/topic/413449<br />
<img src ="http://www.blogjava.net/jikey/aggbug/322094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jikey/" target="_blank">豪情</a> 2010-05-27 23:14 <a href="http://www.blogjava.net/jikey/archive/2010/05/27/322094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>