Book Image

Spring Python 1.1

By : Greg L. Turnquist
Book Image

Spring Python 1.1

By: Greg L. Turnquist

Overview of this book

<p>Spring Python captures the concepts of the Spring Framework and Spring Security and brings them to the world of Python and provides many functional parts to assemble applications. Spring Python is all about using the many useful features of Spring to the fullest and making these features available when working with Python.<br /><br />Get to grips with all of the concepts of Spring and apply these to the language and environment of Python to develop powerful applications for your own personal requirements. The book provides an introduction to Spring Python and steadily takes you towards the advanced features that this integration has to offer.<br /><br />Spring uses the Java programming language. Spring Python, the first Spring extension to go live, allows developers to make maximum use of Spring features in Python. This book starts off by introducing each of the core building blocks of Spring Python using real code examples and high-level diagrams. It explores the various concepts of Spring Python with the help of examples and case studies and focuses on vital Spring Python features to make the lives of Python and Java developers simple. The early chapters cover simple applications with simple operations including data access, and then subsequent chapters scale up to multi-node, secured, transactional applications stopping short of very advanced level complexity.</p>
Table of Contents (16 chapters)
Spring Python 1.1
Credits
About the Author
About the Reviewers
Preface
Index

Adding caching to Spring Python objects


In this example, we will enhance the wiki engine that we have been developing by writing a service that retrieves wiki text from the database and converts it to HTML. Then, to limit the load on our infrastructure, we will add caching support.

  1. First, we need to code our service. The service will call a data access component to retrieve the wiki text stored in our database. Then we will convert it to HTML and hand it back to the caller.

    class WikiService(object):
        def __init__(self, data_access):
            self.data_access = data_access
            
        def get_article(self, article):
            return self.data_access.retrieve_wiki_text(article)
    
        def store_article(self, article):
            self.data_access.store_wiki_text(article)
    
        def html(self, text):
            pass # return wiki text converted to HTML
    
        def statistics(self, article):
            hits = self.data_access.hits(article)
            return (hits, hits /
                len(self.data_access.edits...