JBoss Weld CDI for Java Platform
eBook - ePub

JBoss Weld CDI for Java Platform

  1. 122 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

JBoss Weld CDI for Java Platform

Book details
Book preview
Table of contents
Citations

About This Book

In Detail

CDI simplifies dependency injection for modern application developers by taking advantage of Java annotations and moving away from complex XML, while at the same time providing an extensible and powerful programming model.

"JBoss Weld CDI for Java Platform" is a practical guide to CDI's dependency injection concepts using clear and easy-to-follow examples. This will help you take advantage of the power behind CDI, as well as providing a firm understanding of how to use it within your applications.

"JBoss Weld CDI for Java Platform" covers all the major aspects of CDI, breaking it down into understandable pieces. This book will take you through many examples of how these concepts can be utilized, helping you get up and running quickly and painlessly.

"JBoss Weld CDI for Java Platform" gives you an insight into the different scopes provided by CDI and the use cases for which each has been designed. You will learn everything about dependency injection, scopes, events, producers, and more from JBoss Weld CDI, as well as how producers can create new beans for consumption within your application. You will also learn how to build a real world application with CDI using JSF and AngularJS for different web interfaces.

Approach

This book is a mini tutorial with plenty of code examples and strategies to give you numerous options when building your own applications.

Who this book is for

"JBoss Weld CDI for Java Platform" is written for developers who are new to dependency injection. A rudimentary knowledge of Java is required.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access JBoss Weld CDI for Java Platform by Ken Finnigan in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming in Java. We have over one million books available in our catalogue for you to explore.

Information

Year
2013
ISBN
9781782160182
Edition
1

JBoss Weld CDI for Java Platform


Table of Contents

JBoss Weld CDI for Java Platform
Credits
About the Author
About the Reviewer
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. What is a Bean?
The history of beans
Definition of a bean
Is my class a bean?
What does it mean to be a bean?
Bean types
Qualifiers
Scope
Expression Language (EL)
Alternatives
Which classes are beans?
Managed Beans
Session Beans
Producers
Producer methods
Producer fields
Summary
2. Dependency Injection and Lookup
What is an injection point?
Typesafe resolution
Qualifiers
@Default and @Any
Qualifier members
Alternatives
Resolving Weld deployment errors
Client proxies
Unproxyable bean types
Programmatic lookup of contextual instances
Injection point metadata
Summary
3. Deploying JBoss Weld
JBoss Weld distribution
JBoss AS
Glassfish
Apache Tomcat
Summary
4. Scopes and Contexts
Scope types
Built-in scopes
The request context lifecycle
The session context lifecycle
The application context lifecycle
The conversation scope
The conversation context lifecycle
Conversation propagation
Conversation timeout
Pseudo scopes
Custom scopes
Summary
5. Producers
The scope of a producer
Injection into producer methods
Dependent beans for producers
Cleanup of produced beans
Summary
6. Interceptors and Decorators
Interceptor bindings
Creating and enabling an interceptor
Advanced interceptors
Interceptor binding types with members
Combining interceptor binding types
Inheritance of interceptor binding types
What is a decorator delegate?
Enabling a decorator
Summary
7. Events
What is a payload?
How do I listen for an event?
How do I fire an event?
Event qualifiers
Members of event qualifiers
Combining event qualifiers
Observing events in different transaction phases
Event-observer bean creation
Summary
8. Writing a Portable Extension
What is a portable extension?
What is the CDI container lifecycle?
BeanManager
Injection into non-container managed instances
Registering a bean
Replacing annotations on a type via an extension
Summary
9. Book Store – CDI Services
Overview of the application
Adding interceptors for our services
Securing methods with an interceptor
Providing a transaction with an interceptor
Creating CDI services
Summary
10. Book Store – User Interfaces
REST services
User interface for customers
Administration interface
Summary
Index

JBoss Weld CDI for Java Platform

Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: July 2013
Production Reference: 1050713
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78216-018-2
www.packtpub.com
Cover Image by Timappa Shetty ()

Credits

Author
Ken Finnigan
Reviewer
George Gastaldi
Acquisition Editor
Usha Iyer
Commissioning Editor
Llewellyn F. Rozario
Meeta Rajani
Technical Editors
Sampreshita Maheshwari
Veena Pagare
Copy Editors
Aditya Nair
Alfida Paiva
Laxmi Subramanian
Project Coordinator
Michelle Quadros
Proofreader
Maria Gould
Indexer
Priya Subramani
Production Coordinator
Aditi Gajjar
Cover Work
Aditi Gajjar

About the Author

Ken Finnigan is a Senior Software Engineer at Red Hat, technical lead of the JBoss Portlet Bridge project, a member of the GateIn development team, and the founder of the Arquillian Portal Extension. As a consultant and engineer he has over 15 years development experience with enterprises throughout the world using technologies that include Java EE frameworks (JSF, CDI, EJB3, Hibernate, and Seam), Java testing frameworks (Arquillian, JUnit, and TestNG), Maven, Ant, and a variety of others. In his spare time, he is a committer for Apache DeltaSpike, ShrinkWrap, and Arquillian. He is also the author of GateIn Cookbook, Packt Publishing.

About the Reviewer

George Gastaldi is a Senior Software Engineer from Brazil working at RedHat, notably as a core developer for the JBoss Forge project. He is also the leader of Seam 3 Reports and the co-leader of the Seam 3 JCR module. George has been working professionally with Java since 2000. In 2006, George joined Apache as an individual committer to work on Apache ServiceMix (an open source JBI-compliant ESB). George is a JCP individual member and also a member of the CDI 1.1 spec team. He also promotes Java technology by giving sp...

Table of contents

  1. JBoss Weld CDI for Java Platform