﻿<?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-andyj2ee-文章分类-spring</title><link>http://www.blogjava.net/andyj2ee/category/850.html</link><description>java tec sky</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 14:57:28 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 14:57:28 GMT</pubDate><ttl>60</ttl><item><title>基于spring aop 权限管理系统原型&lt;2&gt;</title><link>http://www.blogjava.net/andyj2ee/articles/2996.html</link><dc:creator>java光环</dc:creator><author>java光环</author><pubDate>Fri, 08 Apr 2005 07:15:00 GMT</pubDate><guid>http://www.blogjava.net/andyj2ee/articles/2996.html</guid><wfw:comment>http://www.blogjava.net/andyj2ee/comments/2996.html</wfw:comment><comments>http://www.blogjava.net/andyj2ee/articles/2996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/andyj2ee/comments/commentRss/2996.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/andyj2ee/services/trackbacks/2996.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp; 此权限管理系统把待访问的业务层方法做为权限管理中的资源，通过spring aop 对接口方法进行拦截，来实现权限的管理，可以实现细粒度的权限控制。在上文体验了spring aop 一些特性，aop 接口：MethodBeforeAdvice， AfterReturningAdvice， ThrowsAdvice 实现这三个接口分别对方法执行前，后，执行中抛异常...&nbsp;&nbsp;<a href='http://www.blogjava.net/andyj2ee/articles/2996.html'>阅读全文</a><img src ="http://www.blogjava.net/andyj2ee/aggbug/2996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/andyj2ee/" target="_blank">java光环</a> 2005-04-08 15:15 <a href="http://www.blogjava.net/andyj2ee/articles/2996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于spring aop 权限管理系统原型&lt;1&gt;</title><link>http://www.blogjava.net/andyj2ee/articles/2664.html</link><dc:creator>java光环</dc:creator><author>java光环</author><pubDate>Thu, 31 Mar 2005 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/andyj2ee/articles/2664.html</guid><wfw:comment>http://www.blogjava.net/andyj2ee/comments/2664.html</wfw:comment><comments>http://www.blogjava.net/andyj2ee/articles/2664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/andyj2ee/comments/commentRss/2664.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/andyj2ee/services/trackbacks/2664.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 此权限管理系统把待访问的业务层方法做为权限管理中的资源，通过spring aop 对接口方法进行拦截，来实现权限的管理，可以实现细粒度的权限控制。初步采用捕获权限否决异常实现。代码如下：资源接口：public&nbsp;interface&nbsp;ResourceBean&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;theMet...&nbsp;&nbsp;<a href='http://www.blogjava.net/andyj2ee/articles/2664.html'>阅读全文</a><img src ="http://www.blogjava.net/andyj2ee/aggbug/2664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/andyj2ee/" target="_blank">java光环</a> 2005-03-31 16:51 <a href="http://www.blogjava.net/andyj2ee/articles/2664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring live 目录</title><link>http://www.blogjava.net/andyj2ee/articles/2431.html</link><dc:creator>java光环</dc:creator><author>java光环</author><pubDate>Fri, 25 Mar 2005 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/andyj2ee/articles/2431.html</guid><wfw:comment>http://www.blogjava.net/andyj2ee/comments/2431.html</wfw:comment><comments>http://www.blogjava.net/andyj2ee/articles/2431.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/andyj2ee/comments/commentRss/2431.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/andyj2ee/services/trackbacks/2431.html</trackback:ping><description><![CDATA[

<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 24pt; font-family: Verdana-Bold; color: rgb(155, 155, 155);" lang="EN-US">Spring Live<o:p></o:p></span></b></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 10pt; font-family: Verdana-Bold; color: rgb(155, 155, 155);" lang="EN-US">Spring Live<o:p></o:p></span></b></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 20pt; font-family: Verdana-Bold; color: rgb(54, 87, 119);" lang="EN-US">Chapter Summaries<o:p></o:p></span></b></p>


<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">This book is written for Java developers familiar with web frameworks. Its
main purpose is for Java developers to learn Spring and evaluate it against
other frameworks. One of my hopes is to compare Spring to other web frameworks,
or at least show how it can be integrated with other frameworks (i.e. Struts,
WebWork, maybe even Tapestry down the road). This book will contain a usable
sample application that includes Spring code to wire DAOs and Services
together. The book does have a bit of a Struts perspective to it as I have been
a Struts developer for almost three years and Struts is the most popular web
framework today. It is only natural that I use my experience in my writing.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 1: Introducing Spring </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">covers the basics of Spring,
how it came to be and why it’s getting so much press and rave reviews. It
compares the traditional way of resolving dependencies (binding interfaces to
implementations using a Factory Pattern) and how Spring does it all in XML. It
also briefly covers how it simplifies the Hibernate API.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 2: Spring Quick Start Tutorial </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">is a tutorial on how to write a
simple Spring web application using the Struts MVC framework for the front end,
Spring for the middle-tier glue, and Hibernate for the back end. In Chapter 4,
this application will be refactored to use the Spring MVC framework.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 3: The BeanFactory and How It Works. </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">The BeanFactory represents the
heart of Spring, so it’s important to know how it works. This chapter explains
how bean definitions are written, their properties, dependencies, and
autowiring. It also explains the logic behind making singleton beans versus
prototypes. Then it delves into Inversion of Control, how it works, and the
simplicity it brings. This chapter dissects the Lifecyle of a bean in the BeanFactory
to show how it works. This chapter also inspects the applicationContext.xml
file for the MyUsers application created in Chapter 2.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 4: Spring’s MVC Framework </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">describes the many features of
Spring’s MVC framework. It shows you how to replace the Struts layer in MyUsers
with Spring. It covers the DispatcherServlet, various Controllers, Handler
Mappings, View Resolvers, Validation and Internationalization. It also briefly
covers Spring’s JSP Tags.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 5: Advanced MVC </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">covers advanced topics in web
frameworks, particularly validation and page decoration.It shows the user how
to use Tiles or SiteMesh to decorate a web application. It also explains how
the Spring framework handles validation, and shows examples of using it in the
web business layers. Finally, it explains a strategy for handling exceptions in
the controllers, how to upload files and how to send e-mail.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 6: View Options </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">covers the view options in
Spring’s MVC architecture. At the time of this writing, the options are JSP,
Velocity, FreeMarker, XSLT, PDF and Excel. This chapter aims to become a
reference for configuring all Spring-supported views. It also contains a brief
overview how each view works and compares constructing a page in MyUsers with
each option. Additionally, it focuses on internationalization for each view<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">option.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 7: Persistence Strategies. </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">Hibernate is quickly becoming a
popular choice for persistence in Java applications, but sometimes it doesn’t
fit. If you have an existing database schema, or even pre-written SQL, sometimes
it’s better to use JDBC or iBATIS (which supports externalized SQL in XML
files). This chapter refactors the MyUsers application to support both JDBC and
iBATIS as persistence framework options. It also<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">implements the UserDAO using JDO and OJB to showcase Spring's excellent
support for these frameworks.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 8: Testing Spring Applications </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">explains how to use test-driven
development to create high-quality, well-tested, Spring-based applications. You
will learn how to test your components using tools like EasyMock, jMock and
DBUnit. For the Controllers, you will learn how to use Cactus for in-container
testing, and Spring Mocks for out-of-container testing. Lastly, you will learn
how to use jWebUnit and Canoo's WebTest for testing the web interface.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 9: AOP. </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">Aspect Oriented Programming has received a
lot of hype in the Java community in the last year. What is AOP and how can it
help you in your applications? This chapter will cover the basics of AOP and give
some useful examples of how AOP might help you.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 10: Transactions. </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">Transactions are an important
part of J2EE, allowing you to view several database calls as one and roll them
back if they don’t all succeed. One of the most highlighted features of EJBs is
declarative transactions. This chapter demonstrates how Spring simplifies using
declarative and programmatic transactions.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Chapter 11: Web Framework Integration. </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">Spring has its own web
framework, but it also integrates well with other frameworks. This allows you
to leverage your existing knowledge and still use Spring to manage your
business objects and data layer. This chapter explores Spring integration with
four popular web frameworks: JSF, Struts, Tapestry and WebWork.<o:p></o:p></span></p>


<p class="MsoNormal" style="text-align: left;" align="left"><b><span style="font-size: 12pt; font-family: &quot;TimesNewRoman,Bold&quot;; color: black;" lang="EN-US">Appendix A: Examples and References </span></b><span style="font-size: 12pt; font-family: TimesNewRoman; color: black;" lang="EN-US">includes explicit examples of
JSF, Tapestry, and WebWork integration.</span><span style="font-size: 10pt; font-family: Verdana-Bold; color: black;" lang="EN-US"><o:p></o:p></span></p>


<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>

<img src ="http://www.blogjava.net/andyj2ee/aggbug/2431.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/andyj2ee/" target="_blank">java光环</a> 2005-03-25 11:37 <a href="http://www.blogjava.net/andyj2ee/articles/2431.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring in Action 目录</title><link>http://www.blogjava.net/andyj2ee/articles/2429.html</link><dc:creator>java光环</dc:creator><author>java光环</author><pubDate>Fri, 25 Mar 2005 02:57:00 GMT</pubDate><guid>http://www.blogjava.net/andyj2ee/articles/2429.html</guid><wfw:comment>http://www.blogjava.net/andyj2ee/comments/2429.html</wfw:comment><comments>http://www.blogjava.net/andyj2ee/articles/2429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/andyj2ee/comments/commentRss/2429.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/andyj2ee/services/trackbacks/2429.html</trackback:ping><description><![CDATA[<dl>
<dt><font size="4">	<b><i>Part 1&nbsp;&nbsp;Spring essentials&nbsp;&nbsp;&nbsp;1</i></b></font></dt><br><br><dt><font size="4">1&nbsp;&nbsp;A Spring jump start&nbsp;&nbsp;&nbsp;3</font></dt><dd>	1.1 Why Spring? 5
<dl><dd>A day in the life of a J2EE developer 5</dd></dl>
<dl><dd>Spring’s pledge 6</dd></dl>
</dd><dd>	1.2 What is Spring? 8
<dl><dd>Spring modules 9</dd></dl>
</dd><dd>	1.3 Spring jump start 12
</dd><dd>	1.4 Understanding inversion of control 15
<dl><dd>Injecting dependencies 16</dd></dl>
<dl><dd>IoC in action 16</dd></dl>
<dl><dd>IoC in enterprise applications 23</dd></dl>
</dd><dd>	1.5 Applying aspect-oriented programming 25
<dl><dd>Introducing AOP 25</dd></dl>
<dl><dd>AOP in action 27</dd></dl>
<dl><dd>AOP in the enterprise 30</dd></dl>
</dd><dd>	1.6 Spring alternatives 33
<dl><dd>Comparing Spring to EJB 33</dd></dl>
<dl><dd>Considering other lightweight containers 36</dd></dl>
<dl><dd>Web frameworks 38</dd></dl>
<dl><dd>Persistence frameworks 40</dd></dl>
</dd><dd>	1.7 Summary 40

</dd><dt><font size="4">2&nbsp;&nbsp;Wiring beans&nbsp;&nbsp;&nbsp;42</font></dt><dd>	2.1 Containing your beans 44
<dl><dd>Introducing the BeanFactory 44</dd></dl>
<dl><dd>Working with an application context 46</dd></dl>
<dl><dd>A bean’s life 47</dd></dl>
</dd><dd>	2.2 Basic wiring 50
<dl><dd>Wiring with XML 54</dd></dl>
<dl><dd>Adding a bean 55</dd></dl>
<dl><dd>Injecting dependencies via setter methods 58</dd></dl>
<dl><dd>Injecting dependencies via constructor 65</dd></dl>
</dd><dd>	2.3 Autowiring 69
<dl><dd>Handling ambiguities of autowiring 71</dd></dl>
<dl><dd>Mixing auto and explicit wiring 72</dd></dl>
<dl><dd>Autowiring by default 72</dd></dl>
<dl><dd>To autowire or not to autowire 72</dd></dl>
</dd><dd>	2.4 Working with Spring’s special beans 73
<dl><dd>Postprocessing beans 74</dd></dl>
<dl><dd>Postprocessing the bean factory 76</dd></dl>
<dl><dd>Externalizing the configuration 78</dd></dl>
<dl><dd>Customizing property editors 80</dd></dl>
<dl><dd>Resolving text messages 83</dd></dl>
<dl><dd>Listening for events 85</dd></dl>
<dl><dd>Publishing events 86</dd></dl>
<dl><dd>Making beans aware 87</dd></dl>
</dd><dd>	2.5 Summary 90

</dd><dt><font size="4">3&nbsp;&nbsp;Creating aspects&nbsp;&nbsp;&nbsp;91</font></dt><dd>	3.1 Introducing AOP 92
<dl><dd>Defining AOP terminology 93</dd></dl>
<dl><dd>Spring’s AOP implementation 95</dd></dl>
</dd><dd>	3.2 Creating advice 97
<dl><dd>Before advice 99</dd></dl>
<dl><dd>After advice 101</dd></dl>
<dl><dd>Around advice 102</dd></dl>
<dl><dd>Throws advice 104</dd></dl>
<dl><dd>Introduction advice 105</dd></dl>
</dd><dd>	3.3 Defining pointcuts 105
<dl><dd>Defining a pointcut in Spring 105</dd></dl>
<dl><dd>Understanding advisors 107</dd></dl>
<dl><dd>Using Spring’s static pointcuts 107</dd></dl>
<dl><dd>Using dynamic pointcuts 111</dd></dl>
<dl><dd>Pointcut operations 113</dd></dl>
</dd><dd>	3.4 Creating introductions 115
<dl><dd>Implementing IntroductionInterceptor 115</dd></dl>
<dl><dd>Creating an IntroductionAdvisor 119</dd></dl>
<dl><dd>Using introduction advice carefully 120</dd></dl>
</dd><dd>	3.5 Using ProxyFactoryBean 122
</dd><dd>	3.6 Autoproxying 124
<dl><dd>BeanNameAutoProxyCreator 124</dd></dl>
<dl><dd>DefaultAdvisorAutoProxy-Creator 126</dd></dl>
<dl><dd>Metadata autoproxying 128</dd></dl>
</dd><dd>	3.7 Summary 128

<br><br>
</dd><dt><font size="4">	<b><i>Part 2&nbsp;&nbsp;Spring in the business layer&nbsp;&nbsp;&nbsp;131</i></b></font></dt><br><br><dt><font size="4">4&nbsp;&nbsp;Hitting the database&nbsp;&nbsp;&nbsp;133</font></dt><dd>	4.1 Learning Spring’s DAO philosophy 134
<dl><dd>Understanding Spring’s DataAccessException 135</dd></dl>
<dl><dd>Working with DataSources 137</dd></dl>
<dl><dd>Consistent DAO support 139</dd></dl>
</dd><dd>	4.2 Using JDBC with Spring 141
<dl><dd>The problem with JDBC code 142</dd></dl>
<dl><dd>Using JdbcTemplate 144</dd></dl>
<dl><dd>Creating operations as objects 152</dd></dl>
<dl><dd>Auto-incrementing keys 155</dd></dl>
</dd><dd>	4.3 Introducing Spring’s ORM framework support 156
</dd><dd>	4.4 Integrating Hibernate with Spring 157
<dl><dd>Hibernate overview 157</dd></dl>
<dl><dd>Managing Hibernate resources 159</dd></dl>
<dl><dd>Accessing Hibernate through HibernateTemplate 162</dd></dl>
<dl><dd>Subclassing HibernateDaoSupport 163</dd></dl>
</dd><dd>	4.5 Spring and JDO 164
<dl><dd>Configuring JDO 164</dd></dl>
<dl><dd>Accessing data with JdoTemplate 165</dd></dl>
</dd><dd>	4.6 Spring and iBATIS 166
<dl><dd>Setting up SQL Maps 167</dd></dl>
<dl><dd>Using SqlMapClientTemplate 168</dd></dl>
</dd><dd>	4.7 Spring and OJB 169
<dl><dd>Setting up OJB’s PersistenceBroker 169</dd></dl>
</dd><dd>	4.8 Summary 171

</dd><dt><font size="4">5&nbsp;&nbsp;Managing transactions&nbsp;&nbsp;&nbsp;173</font></dt><dd>	5.1 Understanding transactions 174
<dl><dd>Explaining transactions in only four words 176</dd></dl>
<dl><dd>Understanding Spring’s transaction management support 177</dd></dl>
<dl><dd>Introducing Spring’s transaction manager 178</dd></dl>
</dd><dd>	5.2 Programming transactions in Spring 181
</dd><dd>	5.3 Declaring transactions 183
<dl><dd>Understanding transaction attributes 185</dd></dl>
<dl><dd>Declaring a simple transaction policy 189</dd></dl>
</dd><dd>	5.4 Declaring transactions by method name 191
<dl><dd>Using NameMatchTransactionAttributeSource 191</dd></dl>
<dl><dd>Shortcutting name-matched transactions 194</dd></dl>
</dd><dd>	5.5 Declaring transactions with metadata 195
<dl><dd>Sourcing transaction attributes from metadata 196</dd></dl>
<dl><dd>Declaring transactions with Commons Attributes 197</dd></dl>
</dd><dd>	5.6 Trimming down transaction declarations 201
<dl><dd>Inheriting from a parent TransactionProxyFactoryBean 202</dd></dl>
<dl><dd>Autoproxying transactions 203</dd></dl>
</dd><dd>	5.7 Summary 206

</dd><dt><font size="4">6&nbsp;&nbsp;Remoting&nbsp;&nbsp;&nbsp;207</font></dt><dd>	6.1 Spring remoting overview 208
</dd><dd>	6.2 Working with RMI 212
<dl><dd>Wiring RMI services 212</dd></dl>
<dl><dd>Exporting RMI services 214</dd></dl>
</dd><dd>	6.3 Remoting with Hessian and Burlap 218
<dl><dd>Accessing Hessian/Burlap services 219</dd></dl>
<dl><dd>Exposing bean functionality with Hessian/Burlap 220</dd></dl>
</dd><dd>	6.4 Using Http invoker 223
<dl><dd>Accessing services via HTTP 224</dd></dl>
<dl><dd>Exposing beans as HTTP Services 225</dd></dl>
</dd><dd>	6.5 Working with EJBs 226
<dl><dd>Accessing EJBs 227</dd></dl>
<dl><dd>Developing Spring-enabled EJBs 231</dd></dl>
</dd><dd>	6.6 Using JAX-RPC web services 233
<dl><dd>Referencing a web service with JAX-RPC 234</dd></dl>
<dl><dd>Wiring a web service in Spring 236</dd></dl>
</dd><dd>	6.7 Summary 238

</dd><dt><font size="4">7&nbsp;&nbsp;Accessing enterprise services&nbsp;&nbsp;&nbsp;240</font></dt><dd>	7.1 Retrieving objects from JNDI 241
<dl><dd>Working with conventional JNDI 241</dd></dl>
<dl><dd>Proxying JNDI objects 243</dd></dl>
</dd><dd>	7.2 Sending e-mail 244
</dd><dd>	7.3 Scheduling tasks 248
<dl><dd>Scheduling with Java’s Timer 248</dd></dl>
<dl><dd>Using the Quartz scheduler 250</dd></dl>
<dl><dd>Invoking methods on a schedule 254</dd></dl>
</dd><dd>	7.4 Sending messages with JMS 256
<dl><dd>Sending messages with JMS templates 257</dd></dl>
<dl><dd>Consuming messages 261</dd></dl>
<dl><dd>Converting messages 263</dd></dl>
</dd><dd>	7.5 Summary 266

<br><br>
</dd><dt><font size="4">	<b><i>Part 3&nbsp;&nbsp;Spring in the web layer&nbsp;&nbsp;&nbsp;267</i></b></font></dt><br><br><dt><font size="4">8&nbsp;&nbsp;Building the web layer&nbsp;&nbsp;&nbsp;269</font></dt><dd>	8.1 Getting started with Spring MVC 270
<dl><dd>A day in the life of a request 271</dd></dl>
<dl><dd>Configuring DispatcherServlet 272</dd></dl>
<dl><dd>Spring MVC in a nutshell 275</dd></dl>
</dd><dd>	8.2 Mapping requests to controllers 279
<dl><dd>Mapping URLs to bean names 280</dd></dl>
<dl><dd>Using SimpleUrlHandlerMapping 281</dd></dl>
<dl><dd>Using metadata to map controllers 281</dd></dl>
<dl><dd>Working with multiple handler mappings 282</dd></dl>
</dd><dd>	8.3 Handling requests with controllers 283
<dl><dd>Writing a simple controller 285</dd></dl>
<dl><dd>Processing commands 287</dd></dl>
<dl><dd>Processing form submissions 289</dd></dl>
<dl><dd>Processing complex forms with wizards 294</dd></dl>
<dl><dd>Handling multiple actions in one controller 301</dd></dl>
<dl><dd>Working with Throwaway controllers 305</dd></dl>
</dd><dd>	8.4 Resolving views 307
<dl><dd>Using template views 308</dd></dl>
<dl><dd>Resolving view beans 310</dd></dl>
<dl><dd>Choosing a view resolver 313</dd></dl>
</dd><dd>	8.5 Using Spring’s bind tag 314
</dd><dd>	8.6 Handling exceptions 317
</dd><dd>	8.7 Summary 317

</dd><dt><font size="4">9&nbsp;&nbsp;View layer alternatives&nbsp;&nbsp;&nbsp;319</font></dt><dd>	9.1 Using Velocity templates 321
<dl><dd>Defining the Velocity view 321</dd></dl>
<dl><dd>Configuring the Velocity engine 322</dd></dl>
<dl><dd>Resolving Velocity views 323</dd></dl>
<dl><dd>Formatting dates and numbers 324</dd></dl>
<dl><dd>Exposing request and session attributes 325</dd></dl>
<dl><dd>Binding form fields in Velocity 326</dd></dl>
</dd><dd>	9.2 Working with FreeMarker 327
<dl><dd>Constructing a FreeMarker view 328</dd></dl>
<dl><dd>Configuring the FreeMarker engine 329</dd></dl>
<dl><dd>Resolving FreeMarker views 330</dd></dl>
<dl><dd>Binding form fields in FreeMarker 330</dd></dl>
</dd><dd>	9.3 Designing page layout with Tiles 332
<dl><dd>Tile views 332</dd></dl>
<dl><dd>Tile controllers 335</dd></dl>
</dd><dd>	9.4 Generating non-HTML output 337
<dl><dd>Producing Excel spreadsheets 338</dd></dl>
<dl><dd>Generating PDF documents 340</dd></dl>
<dl><dd>Generating other non-HTML files 343</dd></dl>
</dd><dd>	9.5 Summary 344

</dd><dt><font size="4">10&nbsp;&nbsp;Working with other web frameworks&nbsp;&nbsp;&nbsp;346</font></dt><dd>	10.1 Working with Jakarta Struts 347
<dl><dd>Registering the Spring plug-in 348</dd></dl>
<dl><dd>Implementing Spring-aware Struts actions 348</dd></dl>
<dl><dd>Delegating actions 350</dd></dl>
</dd><dd>	10.2 Working with Tapestry 352
<dl><dd>Replacing the Tapestry Engine 353</dd></dl>
<dl><dd>Loading Spring beans into Tapestry pages 355</dd></dl>
</dd><dd>	10.3 Integrating with JavaServer Faces 357
<dl><dd>Resolving variables 357</dd></dl>
<dl><dd>Publishing request handled events 361</dd></dl>
</dd><dd>	10.4 Integrating with WebWork 362
<dl><dd>WebWork 1 363</dd></dl>
<dl><dd>XWork/WebWork2 364</dd></dl>
</dd><dd>	10.5 Summary 365

</dd><dt><font size="4">11&nbsp;&nbsp;Securing Spring applications&nbsp;&nbsp;&nbsp;367</font></dt><dd>	11.1 Introducing the Acegi Security System 368
<dl><dd>Security interceptors 369</dd></dl>
<dl><dd>Authentication managers 370</dd></dl>
<dl><dd>Access decisions managers 370</dd></dl>
<dl><dd>Run-as managers 370</dd></dl>
</dd><dd>	11.2 Managing authentication 371
<dl><dd>Configuring a provider manager 371</dd></dl>
<dl><dd>Authenticating against a database 373</dd></dl>
<dl><dd>Authenticating against an LDAP repository 382</dd></dl>
<dl><dd>Enabling Single Sign-On with Acegi and Yale CAS 384</dd></dl>
</dd><dd>	11.3 Controlling access 389
<dl><dd>Voting access decisions 389</dd></dl>
<dl><dd>Deciding how to vote 390</dd></dl>
<dl><dd>Handling voter abstinence 392</dd></dl>
</dd><dd>	11.4 Securing web applications 392
<dl><dd>Proxying Acegi’s filters 394</dd></dl>
<dl><dd>Enforcing web security 397</dd></dl>
<dl><dd>Processing a login 400</dd></dl>
<dl><dd>Setting up the security context 406</dd></dl>
<dl><dd>Ensuring a secure channel 407</dd></dl>
<dl><dd>Using the Acegi tag library 411</dd></dl>
</dd><dd>	11.5 Securing method invocations 412
<dl><dd>Creating a security aspect 412</dd></dl>
<dl><dd>Securing methods using metadata 414</dd></dl>
</dd><dd>	11.6 Summary 416

</dd><dt><font size="4">A&nbsp;&nbsp;Spring setup&nbsp;&nbsp;&nbsp;417</font></dt><dd>	A.1 Downloading Spring 418
</dd><dd>	A.2 Choosing a distribution 418
</dd><dd>	A.3 Setting up your project 419
A.4 Building with Ant 420
</dd><dt><font size="4">B&nbsp;&nbsp;Spring-related projects&nbsp;&nbsp;&nbsp;422</font></dt><dd>	B.1 AppFuse 423
</dd><dd>	B.2 Rich Client Project 424
</dd><dd>	B.3 Spring.NET 424
</dd><dd>	<br>
<i>index 427</i>

</dd>
</dl>
<img src ="http://www.blogjava.net/andyj2ee/aggbug/2429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/andyj2ee/" target="_blank">java光环</a> 2005-03-25 10:57 <a href="http://www.blogjava.net/andyj2ee/articles/2429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pro spring 目录</title><link>http://www.blogjava.net/andyj2ee/articles/2413.html</link><dc:creator>java光环</dc:creator><author>java光环</author><pubDate>Thu, 24 Mar 2005 11:03:00 GMT</pubDate><guid>http://www.blogjava.net/andyj2ee/articles/2413.html</guid><wfw:comment>http://www.blogjava.net/andyj2ee/comments/2413.html</wfw:comment><comments>http://www.blogjava.net/andyj2ee/articles/2413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/andyj2ee/comments/commentRss/2413.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/andyj2ee/services/trackbacks/2413.html</trackback:ping><description><![CDATA[Pro Spring<BR>ROB HARROP AND JAN MACHACEK<BR>Pro Spring<BR>Copyright . 2005 by Rob Harrop and Jan Machacek<BR>Contents at a Glance<BR><FONT size=1>PART 1 Getting Started with Spring<BR>CHAPTER 1 Introducing Spring . . . . . . . . . . . . . . . . . . . . . . . .3<BR>CHAPTER 2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . 15<BR>CHAPTER 3 The Sample Application . . . . . . . . . . . . . . . . . . . . . .35<BR>PART 2 Spring Basics<BR>CHAPTER 4 Introducing Inversion of Control . . . . . . . . . . . . . . . . .49<BR>CHAPTER 5 Beyond the Basics . . . . . . . . . . . . . . . . . . . . . . . . 93<BR>PART 3 Aspect Oriented Programming<BR>with Spring<BR>CHAPTER 6 Introducing Spring AOP . . . . . . . . . . . . . . . . . . . . . .157<BR>CHAPTER 7 More on Spring AOP . . . . . . . . . . . . . . . . . . . . . . . .205<BR>PART 4 Data Access with Spring<BR>CHAPTER 8 Spring JDBC Support . . . . . . . . . . . . . . . . . . . . . . . 249<BR>CHAPTER 9 Using Hibernate in Spring Applications . . . . . . . . . . . . . .279<BR>CHAPTER 10 iBATIS Integration . . . . . . . . . . . . . . . . . . . . . . . 311<BR>PART 5&nbsp; Spring in the Middle Tier<BR>CHAPTER 11 Designing and Implementing Spring-Based Applications . . . . . . 353<BR>CHAPTER 12 Transaction Management . . . . . . . . . . . . . . . . . . . . . 395<BR>CHAPTER 13 Spring and J2EE . . . . . . . . . . . . . . . . . . . . . . . . .439<BR>CHAPTER 14 Job Scheduling with Spring . . . . . . . . . . . . . . . . . . . 487<BR>CHAPTER 15 Mail Support in Spring . . . . . . . . . . . . . . . . . . . . . 517<BR>CHAPTER 16 Using Spring Remoting . . . . . . . . . . . . . . . . . . . . . .549<BR>PART 6&nbsp; Web Applications with Spring<BR>CHAPTER 17 Web Applications with Spring MVC . . . . . . . . . . . . . . . . 599<BR>CHAPTER 18 Beyond JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . 645<BR>CHAPTER 19 Spring and Struts . . . . . . . . . . . . . . . . . . . . . . . .679<BR>PART 7&nbsp; Appendixes<BR>APPENDIX A Testing with Spring . . . . . . . . . . . . . . . . . . . . . . .697<BR>APPENDIX B The Spring Rich Project . . . . . . . . . . . . . . . . . . . . .711<BR>APPENDIX C Spring IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . 729<BR>APPENDIX D The Future of Spring . . . . . . . . . . . . . . . . . . . . . . 743<BR>INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767</FONT><img src ="http://www.blogjava.net/andyj2ee/aggbug/2413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/andyj2ee/" target="_blank">java光环</a> 2005-03-24 19:03 <a href="http://www.blogjava.net/andyj2ee/articles/2413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>