Introducing the Spring framework

Size: px
Start display at page:

Download "Introducing the Spring framework"

Transcription

1 Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Introducing the Spring framework Marco Piccioni

2 Yet another framework? It addresses areas that other frameworks don t Does not reinvent the wheel It is both comprehensive and modular Offers a simple programming model (based on POJOs) Open source project since February 2003 > 2.4 million downloads 2

3 What is it about? Helps in writing code that is easy to unit test Effectively organizes middle tier objects Centralizes configuration A light weight alternative to EJB s (most of the time) Eliminates Singleton proliferation Consistent framework for data access 3

4 The overall picture Picture from 4

5 A deceivingly simple example public class HelloWorld public static void main(string[] aargh) System.out.println( Hello again?!"); } } 5

6 Requirements happen to change What if we want to change the message? What if we want to output the message differently? To stderr instead of stdout Enclosed in HTML tags rather than as plain text New requirements Our application should support a simple, flexible mechanism for changing the message It should be simple to change the rendering behavior. 6

7 Quiz Which is the simplest way to change the message without changing the code? How to implement a more flexible rendedering behavior? 7

8 Quiz solution Which is the simplest way to change the message without changing the code? Using it as a command line argument How to implement a more flexible rendedering behavior? Separating the component that renders the message from the component that obtains the message 8

9 A more flexible design <<interface>> MessageRenderer +setmessageprovider() +getmessageprovider() <<interface>> MessageProvider +getmessage() +render() StandardOutMessageRenderer +setmessageprovider() +getmessageprovider() HelloWorldMessageProvider +getmessage() +render() 9

10 Decoupling hello world public class DecoupledHelloWorld } public static void main(string[] aargh) MessageRenderer mr = new StandardOutMessageRenderer(); MessageProvider mp = new StandardOutMessageRenderer(); mr.setmessageprovider(mp); mr.render(); } 10

11 Improving the design using a Factory public class DecoupledHelloWorldWithFactory public static void main(string[] aargh) MessageRenderer mr = MessageSupportFactory.getInstance().getMes sagerenderer(); MessageProvider mp = MessageSupportFactory.getInstance().getMes sageprovider(); mr.setmessageprovider(mp); mr.render(); }} 11

12 Flexibility comes at a price The factory will be able to create a message renderer and a message provider by name, reading a configuration file We have to write lots of glue code We still have to provide the MessageRenderer with an instance of MessageProvider manually 12

13 Spring teaser public class XmlConfigHelloSpringDI public static void main(string[] aargh) BeanFactory factory = getbeanfactory() MessageRenderer mr = (MessageRenderer) factory.getbean( renderer ); mr.render(); } //see next page for getbeanfactory() } 13

14 More Spring teaser... private static BeanFactory getbeanfactory() throws Exception... XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource( src/ch/ethz/inf/java/ hello/msgconf.xml )); return factory; } 14

15 How Spring config file looks like <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN" " <beans> <bean id="renderer class= ch.ethz.inf.java.hello.standardoutmessagerende rer"> </bean> <property name="messageprovider"> </property> <ref local="provider"/> <bean id="provider class="ch.ethz.inf.java.hello.helloworldmessageprovid er"/> </bean> </beans> 15

16 Hello Spring Here is where the Spring Framework comes into play Provides lots of well written plumbing code Sets the dependencies automatically Your application interacts with the Spring DI container using the BeanFactory (or the more powerful ApplicationContext) interface We can also set values directly in the configuration file, or using constructor args (e.g. injecting hello world ) 16

17 References [1] [2] Rob Harrop, Jan Machacek. Pro Spring: Apress 2005 [3] Rod Johnson. Expert One-on-One J2EE Design and Development, Wrox press 2001 [4] Craig Walls, Ryan Breidenbach. Spring in Action Manning

Refactoring HelloWorld Application

Refactoring HelloWorld Application Refactoring HelloWorld Application 1 Theme of this Presentation How a simple HelloWorld application can be refactored in order to achieve the agility (and testability)? How can I change a certain part

More information

Dan Hayes. October 27, 2005

Dan Hayes. October 27, 2005 Spring Introduction and Dependency Injection Dan Hayes October 27, 2005 Agenda Introduction to Spring The BeanFactory The Application Context Inversion of Control Bean Lifecyle and Callbacks Introduction

More information

Spring Framework. Christoph Pickl

Spring Framework. Christoph Pickl Spring Framework Christoph Pickl agenda 1. short introduction 2. basic declaration 3. medieval times 4. advanced features 5. demo short introduction common tool stack Log4j Maven Spring Code Checkstyle

More information

Dependency Injection and Spring. INF5750/ Lecture 2 (Part II)

Dependency Injection and Spring. INF5750/ Lecture 2 (Part II) Dependency Injection and Spring INF5750/9750 - Lecture 2 (Part II) Problem area Large software contains huge number of classes that work together How to wire classes together? With a kind of loose coupling,

More information

Effects of Dependency Injection on Maintainability. Kate Razina

Effects of Dependency Injection on Maintainability. Kate Razina Effects of Dependency Injection on Maintainability Kate Razina Overview Introduction Maintainability Dependency Injection Hypothesis Research Measuring Maintainability Data Collection Results Conclusion

More information

Advanced Web Systems 5- Designing Complex Applications. -The IOC Pattern -Light Weight Container. A. Venturini

Advanced Web Systems 5- Designing Complex Applications. -The IOC Pattern -Light Weight Container. A. Venturini Advanced Web Systems 5- Designing Complex Applications -The IOC Pattern -Light Weight Container A. Venturini Introduction Design and maintainability issues The Inversion of Control Pattern How IoC solves

More information

Java and C# in Depth

Java and C# in Depth Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 4 Chair of Software Engineering Don t forget to form project groups by tomorrow (March

More information

Java Fundamentals (II)

Java Fundamentals (II) Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Java Fundamentals (II) Marco Piccioni static imports Introduced in 5.0 Imported static members of a class

More information

Dependency Injection. Kenneth M. Anderson University of Colorado, Boulder Lecture 30 CSCI 4448/ /08/11

Dependency Injection. Kenneth M. Anderson University of Colorado, Boulder Lecture 30 CSCI 4448/ /08/11 Dependency Injection Kenneth M. Anderson University of Colorado, Boulder Lecture 30 CSCI 4448/5448 12/08/11 1 Goals of the Lecture Introduce the topic of dependency injection See examples using the Spring

More information

SPRING MOCK TEST SPRING MOCK TEST I

SPRING MOCK TEST SPRING MOCK TEST I http://www.tutorialspoint.com SPRING MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Spring Framework. You can download these sample mock tests at

More information

A Lightweight Java Container

A Lightweight Java Container Introducing Spring A Lightweight Java Container Sample Content garth@ggilmour.com Introducing Spring Spring was born from dislike of JEE JEE can be viewed as cumbersome, awkward and intrusive Especially

More information

S AMPLE CHAPTER SPRING IN ACTION. Craig Walls Ryan Breidenbach MANNING

S AMPLE CHAPTER SPRING IN ACTION. Craig Walls Ryan Breidenbach MANNING S AMPLE CHAPTER SPRING IN ACTION Craig Walls Ryan Breidenbach MANNING Spring in Action by Craig Walls and Ryan Breidenbach Sample Chapter 1 Copyright 2005 Manning Publications PART 1 SPRING ESSENTIALS...1

More information

CONFIGURING A SPRING DEVELOPMENT ENVIRONMENT

CONFIGURING A SPRING DEVELOPMENT ENVIRONMENT Module 5 CONFIGURING A SPRING DEVELOPMENT ENVIRONMENT The Spring Framework > The Spring framework (spring.io) is a comprehensive Java SE/Java EE application framework > Spring addresses many aspects of

More information

Spring. and. the IoC Container

Spring. and. the IoC Container Spring and the IoC Container Menu Recap - The IoC container The ApplicationContext Bean scopes Bean lifecycle customization Internationalization Application events / listeners Resources Factory beans Spring

More information

Chapter Two Bonus Lesson: JavaDoc

Chapter Two Bonus Lesson: JavaDoc We ve already talked about adding simple comments to your source code. The JDK actually supports more meaningful comments as well. If you add specially-formatted comments, you can then use a tool called

More information

Spring and Coherence Recipes

Spring and Coherence Recipes Spring and Coherence Recipes David Whitmarsh, Phil Wheeler December 4, 2013 Outline 1 IoC Frameworks 2 Problems with Spring and Coherence 3 ApplicationContexts 4 LifeCycle 5 Bean Definition and Injection

More information

Chris Donnan & Solomon Duskis

Chris Donnan & Solomon Duskis The Peer Frameworks Series -.Net and Java Spring Framework Developer Session Chris Donnan & Solomon Duskis All Rights Reserved 0 Overview 600-630 Light Snack 630 700 Introduction to Inversion of Control,

More information

Spring JavaConfig. Reference Documentation. version 1.0-m Rod Johnson, Costin Leau. Copyright (c) Interface21

Spring JavaConfig. Reference Documentation. version 1.0-m Rod Johnson, Costin Leau. Copyright (c) Interface21 Spring JavaConfig Reference Documentation version 1.0-m2 2007.05.08 Rod Johnson, Costin Leau Copyright (c) 2005-2007 Interface21 Copies of this document may be made for your own use and for distribution

More information

Spring Integration on SAP NetWeaver

Spring Integration on SAP NetWeaver SAP Platform Ecosystem Copyright Copyright 2005 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of

More information

Business Logic and Spring Framework

Business Logic and Spring Framework Business Logic and Spring Framework Petr Křemen petr.kremen@fel.cvut.cz Winter Term 2017 Petr Křemen (petr.kremen@fel.cvut.cz) Business Logic and Spring Framework Winter Term 2017 1 / 32 Contents 1 Business

More information

Chapter 13. Hibernate with Spring

Chapter 13. Hibernate with Spring Chapter 13. Hibernate with Spring What Is Spring? Writing a Data Access Object (DAO) Creating an Application Context Putting It All Together 1 / 24 What is Spring? The Spring Framework is an Inversion

More information

Spring Interview Questions

Spring Interview Questions Spring Interview Questions By Srinivas Short description: Spring Interview Questions for the Developers. @2016 Attune World Wide All right reserved. www.attuneww.com Contents Contents 1. Preface 1.1. About

More information

Sitesbay.com. A Perfect Place for All Tutorials Resources. Java Projects C C++ DS Interview Questions JavaScript

Sitesbay.com.  A Perfect Place for All Tutorials Resources. Java Projects C C++ DS Interview Questions JavaScript Sitesbay.com A Perfect Place for All Tutorials Resources Java Projects C C++ DS Interview Questions JavaScript Core Java Servlet JSP JDBC Struts Hibernate Spring Java Projects C C++ DS Interview Questions

More information

The Spring Framework: Overview and Setup

The Spring Framework: Overview and Setup 2009 Marty Hall The Spring Framework: Overview and Setup Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/spring.html Customized Java EE Training: http://courses.coreservlets.com/

More information

Spring framework was initially written by Rod Johnson and was first released under the Apache 2.0 license in June 2003.

Spring framework was initially written by Rod Johnson and was first released under the Apache 2.0 license in June 2003. About the Tutorial Spring framework is an open source Java platform that provides comprehensive infrastructure support for developing robust Java applications very easily and very rapidly. Spring framework

More information

Comparative Analysis of EJB3 and Spring Framework

Comparative Analysis of EJB3 and Spring Framework Comparative Analysis of EJB3 and Spring Framework Janis Graudins, Larissa Zaitseva Abstract: The paper describes main facilities of EJB3 and Spring Framework as well as the results of their comparative

More information

Seasar2.3. Yasuo Higa Seasar Foundation/Chief Committer Translated by:h.ozawa

Seasar2.3. Yasuo Higa Seasar Foundation/Chief Committer   Translated by:h.ozawa Seasar2.3 Yasuo Higa Seasar Foundation/Chief Committer http://www.seasar.org/en 1 I want to ask this question to every developer in the world, DO YOU REALLY WANT TO WRITE CONFIGURATION FILES? Seasar2 saves

More information

Chair of Software Engineering. Java and C# in Depth. Prof. Dr. Bertrand Meyer. Exercise Session 7. Nadia Polikarpova

Chair of Software Engineering. Java and C# in Depth. Prof. Dr. Bertrand Meyer. Exercise Session 7. Nadia Polikarpova Chair of Software Engineering Java and C# in Depth Prof. Dr. Bertrand Meyer Exercise Session 7 Nadia Polikarpova Quiz 1: Does it compile? (Java) public class MyException extends Exception { Checked exception...

More information

Chair of Software Engineering. Java and C# in Depth. Prof. Dr. Bertrand Meyer. Exercise Session 8. Nadia Polikarpova

Chair of Software Engineering. Java and C# in Depth. Prof. Dr. Bertrand Meyer. Exercise Session 8. Nadia Polikarpova Chair of Software Engineering Java and C# in Depth Prof. Dr. Bertrand Meyer Exercise Session 8 Nadia Polikarpova Quiz 1: What is printed? (Java) class MyTask implements Runnable { «Everything is ok! public

More information

Chair of Software Engineering. Java and C# in depth. Carlo A. Furia, Marco Piccioni, Bertrand Meyer. Java: reflection

Chair of Software Engineering. Java and C# in depth. Carlo A. Furia, Marco Piccioni, Bertrand Meyer. Java: reflection Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: reflection Outline Introductory detour: quines Basic reflection Built-in features Introspection Reflective method invocation

More information

MARATHWADA INSTITUTE OF TECHNOLOGY, AURANGABAD DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS ADVANCE JAVA QUESTION BANK

MARATHWADA INSTITUTE OF TECHNOLOGY, AURANGABAD DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS ADVANCE JAVA QUESTION BANK MARATHWADA INSTITUTE OF TECHNOLOGY, AURANGABAD DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS ADVANCE JAVA QUESTION BANK Second Year MCA 2013-14 (Part-I) Faculties: Prof. V.V Shaga Prof. S.Samee Prof. A.P.Gosavi

More information

Exam Questions 1Z0-850

Exam Questions 1Z0-850 Exam Questions 1Z0-850 Java Standard Edition 5 and 6, Certified Associate Exam https://www.2passeasy.com/dumps/1z0-850/ 1. Which two are true? (Choose two.) A. J2EE runs on consumer and embedded devices.

More information

AP Computer Science Summer Assignment (updated 5/29/2018) DUE : Sept. 4, 2018

AP Computer Science Summer Assignment (updated 5/29/2018) DUE : Sept. 4, 2018 AP Computer Science 2018 2019 E-mail: taegoode@vbschools.com Summer Assignment (updated 5/29/2018) DUE : Sept. 4, 2018 This assignment is due on the first day of class. Please read the instructions carefully

More information

Exercise Session Week 8

Exercise Session Week 8 Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 8 Quiz 1: What is printed? (Java) class MyTask implements Runnable { public void

More information

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year!

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year! Accurate study guides, High passing rate! Testhorse provides update free of charge in one year! http://www.testhorse.com Exam : 1Z0-850 Title : Java Standard Edition 5 and 6, Certified Associate Exam Version

More information

Embrace Factories Factories. By Rob Gonda

Embrace Factories Factories. By Rob Gonda Embrace Factories Factories By Rob Gonda Brief History of OOP for CF Once upon a time Procedural Code Spaghetti Code Organized a) Includes b) Modules OOP / CFC (mx+) Objects as containers The Big Object

More information

Spring, a J2EE extension framework. JUGS presentation by Philipp H. Oser

Spring, a J2EE extension framework. JUGS presentation by Philipp H. Oser Spring, a J2EE extension framework JUGS presentation by Philipp H. Oser 30.08.2005 Agenda 1 Introduction Context Essential spring Demo Spring in more details More spring features: configuration, interceptors,

More information

Exercise Session Week 7

Exercise Session Week 7 Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 7 Project submission today Make sure assistants have access to SVN Not necessary

More information

Comparing Java Web Frameworks

Comparing Java Web Frameworks Comparing Java Web Frameworks JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket Matt Raible matt@raibledesigns.com http://raibledesigns.com Today's Agenda Introductions Pros and Cons Smackdown Conclusion

More information

Exercise Session Week 8

Exercise Session Week 8 Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 8 Java 8 release date Was early September 2013 Currently moved to March 2014 http://openjdk.java.net/projects/jdk8/milestones

More information

The Spring Framework for J2EE

The Spring Framework for J2EE The Spring Framework for J2EE Dan Hayes Chariot Solutions March 22, 2005 Agenda Introduction to the Spring Framework Inversion of Control and AOP* Concepts The Spring Bean Container Spring in the Business

More information

Exam Questions 1Z0-895

Exam Questions 1Z0-895 Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale

More information

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum Copyright Descriptor Systems, 2001-2010. Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum Copyright Descriptor Systems, 2001-2010. Course materials

More information

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

More information

Advanced Java Programming

Advanced Java Programming Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In

More information

Java AOP in Spring 2.0 Rob Harrop, Interface21 Ltd.

Java AOP in Spring 2.0 Rob Harrop, Interface21 Ltd. Java AOP in Spring 2.0 Rob Harrop, Interface21 Ltd. Agenda What's new in Spring 2.0 Simplifying transaction configuration @AspectJ Aspects Writing pointcuts with AspectJ Using AspectJ aspects Aspects and

More information

No Fluff, Just Stuff Anthology

No Fluff, Just Stuff Anthology Extracted from: No Fluff, Just Stuff Anthology The 2006 Edition This PDF file contains pages extracted from No Fluff, Just Stuff Anthology, published by the Pragmatic Bookshelf. For more information or

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

3 GluonJ. 1 GluonJ Web. {rei, DAO. GluonJ Web. GluonJ. glue DAO. glue 1 DAO DAO. ( AOP) AspectJ [6] [7] DAO.

3 GluonJ. 1 GluonJ Web. {rei, DAO. GluonJ Web. GluonJ. glue DAO. glue 1 DAO DAO. ( AOP) AspectJ [6] [7] DAO. GluonJ {rei, chiba@csg.is.titech.ac.jp GluonJ GluonJ AOP GluonJ GluonJ AspectJ GluonJ 1 GluonJ Web AOP GluonJ Web glue GluonJ ( DAO) DAO glue 1 DAO DAO ( AOP) AspectJ [6] [7] DAO Web 2 AOP DAO 1 DAO AOP

More information

Comparing Spring & Guice

Comparing Spring & Guice Comparing Spring & Guice Bill Dudney Dudney.net Bill Dudney Comparing Spring & Guice Slide 1 Dependency Injection WarpSimulator capacitor : FluxCapacitor simulate() : void FluxCapacitor capacitate()

More information

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product. Oracle EXAM - 1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Buy Full Product http://www.examskey.com/1z0-895.html Examskey Oracle 1Z0-895 exam demo product is here for you to test

More information

Introduction to the Spring Framework

Introduction to the Spring Framework Introduction to the Spring Framework Elements of the Spring Framework everything you need Professional programming component based design Inversion of Control principles Creating Components in Spring Dependency

More information

Class, Variable, Constructor, Object, Method Questions

Class, Variable, Constructor, Object, Method Questions Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx

More information

Inversion of Control (IoC) and Dependency Injection (DI) in Spring

Inversion of Control (IoC) and Dependency Injection (DI) in Spring April 2018, IPT Course Introduction to Spring 5 Inversion of Control (IoC) and Dependency Injection (DI) in Spring Trayan Iliev tiliev@iproduct.org http://iproduct.org Copyright 2003-2018 IPT - Intellectual

More information

1. Download the JDK 6, from

1. Download the JDK 6, from 1. Install the JDK 1. Download the JDK 6, from http://java.sun.com/javase/downloads/widget/jdk6.jsp. 2. Once the file is completed downloaded, execute it and accept the license agreement. 3. Select the

More information

More on Design. CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson

More on Design. CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson More on Design CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson Outline Additional Design-Related Topics Design Patterns Singleton Strategy Model View Controller Design by

More information

Information systems modeling. Tomasz Kubik

Information systems modeling. Tomasz Kubik Information systems modeling Tomasz Kubik Data Access Objects Pattern https://www.tutorialspoint.com/design_pattern/data_access_object_pattern.htm Spring framework https://projects.spring.io/spring-framework/

More information

An overview of Java, Data types and variables

An overview of Java, Data types and variables An overview of Java, Data types and variables Lecture 2 from (UNIT IV) Prepared by Mrs. K.M. Sanghavi 1 2 Hello World // HelloWorld.java: Hello World program import java.lang.*; class HelloWorld { public

More information

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract

More information

Classes. Classes as Code Libraries. Classes as Data Structures

Classes. Classes as Code Libraries. Classes as Data Structures Classes Classes/Objects/Interfaces (Savitch, Various Chapters) TOPICS Classes Public versus Private Static Data Static Methods Interfaces Classes are the basis of object-oriented (OO) programming. They

More information

JAVA. Aspects (AOP) AspectJ

JAVA. Aspects (AOP) AspectJ JAVA Aspects (AOP) AspectJ AOP Aspect-oriented programming separation of concerns concern ~ a part of program code related to a particular functionality typically understood as an extension of OOP solves

More information

Lecture Notes CPSC 224 (Spring 2012) Today... Java basics. S. Bowers 1 of 8

Lecture Notes CPSC 224 (Spring 2012) Today... Java basics. S. Bowers 1 of 8 Today... Java basics S. Bowers 1 of 8 Java main method (cont.) In Java, main looks like this: public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); Q: How

More information

1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003

1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003 1.00 Introduction to Computers and Engineering Problem Solving Quiz 1 March 7, 2003 Name: Email Address: TA: Section: You have 90 minutes to complete this exam. For coding questions, you do not need to

More information

Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer

Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 2 Agenda Ø Quizzes Ø More quizzes Ø And even more quizzes 2 Quiz 1. What will be printed? Ø Integers public class

More information

Apache Wicket. Java Web Application Framework

Apache Wicket. Java Web Application Framework Apache Wicket Java Web Application Framework St. Louis - Java User s Group Luther Baker September 2009 What is Wicket? Web Application Framework Component-based Framework Wicket 1.4 is Java 1.5+ compliant

More information

Enterprise AOP With the Spring Framework

Enterprise AOP With the Spring Framework Enterprise AOP With the Spring Framework Jürgen Höller VP & Distinguished Engineer, Interface21 Agenda Spring Core Container Spring AOP Framework AOP in Spring 2.0 Example: Transaction Advice What's Coming

More information

Groovy & Grails Scripting for Modern Web Applications. Rohit Nayak Talentica Software

Groovy & Grails Scripting for Modern Web Applications. Rohit Nayak Talentica Software Groovy & Grails Scripting for Modern Web Applications Rohit Nayak Talentica Software Agenda Demo: Quick intro to Grails Scripting, Web Applications and Grails/Groovy REST service in Grails Demo Internals

More information

Enterprise JavaBeans EJB component types

Enterprise JavaBeans EJB component types Enterprise JavaBeans EJB component types Recommended book Introduction to EJB 3 EJB 3.1 component example package examples; import javax.ejb.stateless; @Stateless public class HelloBean { public String

More information

SPRING FRAMEWORK ARCHITECTURE

SPRING FRAMEWORK ARCHITECTURE SPRING - QUICK GUIDE http://www.tutorialspoint.com/spring/spring_quick_guide.htm Copyright tutorialspoint.com Spring is the most popular application development framework for enterprise Java. Millions

More information

XML SCHEMA BASED AOP WITH SPRING

XML SCHEMA BASED AOP WITH SPRING XML SCHEMA BASED AOP WITH SPRING http://www.tutorialspoint.com/spring/schema_based_aop_appoach.htm Copyright tutorialspoint.com To use the aop namespace tags described in this section, you need to import

More information

Chapter 1 Introduction to Java

Chapter 1 Introduction to Java Chapter 1 Introduction to Java 1 Why Java? The answer is that Java enables users to develop and deploy applications on the Internet for servers, desktop computers, and small hand-held devices. The future

More information

jar command Java Archive inherits from tar : Tape Archive commands: jar cvf filename jar tvf filename jar xvf filename java jar filename.

jar command Java Archive inherits from tar : Tape Archive commands: jar cvf filename jar tvf filename jar xvf filename java jar filename. jar & jar files jar command Java Archive inherits from tar : Tape Archive commands: jar cvf filename jar tvf filename jar xvf filename java jar filename.jar jar file A JAR file can contain Java class files,

More information

CHAPTER 6 VALIDATION

CHAPTER 6 VALIDATION CHAPTER 6 VALIDATION OBJECTIVES After completing Validation, you will be able to: Implement validators to assert constraints on bean state. Invoke validators on target objects and graphs of objects, and

More information

Presentation and content are not always well separated. Most developers are not good at establishing levels of abstraction in JSPs

Presentation and content are not always well separated. Most developers are not good at establishing levels of abstraction in JSPs Maintenance and Java Server Pages Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web sources: Professional Java Server Programming, Patzer, Wrox, 14 JSP Maintenance

More information

Reference Documentation

Reference Documentation Reference Documentation Version 1.2.1 (Work in progress) Copyright (c) 2004-2005 Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu, Darren Davison, Dmitriy Kopylenko, Thomas Risberg, Mark Pollack,

More information

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods

More information

Grails Seminar 11/12/09. Groovy And Grails. An Overview

Grails Seminar 11/12/09. Groovy And Grails. An Overview Grails Seminar 11/12/09 Groovy And Grails An Overview Groovy What Is Groovy? Groovy... Is A Dynamic Language For The Java Virtual Machine (JVM) Takes inspiration from Smalltalk, Python and Ruby (etc...)

More information

Chair of Software Engineering. Languages in Depth Series: Java Programming. Prof. Dr. Bertrand Meyer. Exercise Session 3

Chair of Software Engineering. Languages in Depth Series: Java Programming. Prof. Dr. Bertrand Meyer. Exercise Session 3 Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Exercise Session 3 Today s Exercise Session Assignment 2 Walkthrough the master solution (your solutions)

More information

What is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1

What is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1 CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Singleton Pattern Mar. 13, 2007 What is it? If you need to make sure that there can be one and only one instance of a class. For example,

More information

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines

More information

C02: Overview of Software Development and Java

C02: Overview of Software Development and Java CISC 3120 C02: Overview of Software Development and Java Hui Chen Department of Computer & Information Science CUNY Brooklyn College 08/31/2017 CUNY Brooklyn College 1 Outline Recap and issues Brief introduction

More information

Spring Dependency Injection & Java 5

Spring Dependency Injection & Java 5 Spring Dependency Injection & Java 5 Alef Arendsen Introductions Alef Arendsen Spring committer since 2003 Now Principal at SpringSource (NL) 2 3 Imagine A big pile of car parts Workers running around

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

Spring Framework 2.0 New Persistence Features. Thomas Risberg

Spring Framework 2.0 New Persistence Features. Thomas Risberg Spring Framework 2.0 New Persistence Features Thomas Risberg Introduction Thomas Risberg Independent Consultant, springdeveloper.com Committer on the Spring Framework project since 2003 Supporting the

More information

Seam 3. Pete Muir JBoss, a Division of Red Hat

Seam 3. Pete Muir JBoss, a Division of Red Hat Seam 3 Pete Muir JBoss, a Division of Red Hat Road Map Introduction Java EE 6 Java Contexts and Dependency Injection Seam 3 Mission Statement To provide a fully integrated development platform for building

More information

Stateless -Session Bean

Stateless -Session Bean Stateless -Session Bean Prepared by: A.Saleem Raja MCA.,M.Phil.,(M.Tech) Lecturer/MCA Chettinad College of Engineering and Technology-Karur E-Mail: asaleemrajasec@gmail.com Creating an Enterprise Application

More information

J2EE 1.4. Magnus Larsson. Callista Enterprise AB.

J2EE 1.4. Magnus Larsson. Callista Enterprise AB. J2EE 1.4 Magnus Larsson Callista Enterprise AB magnus.larsson@callista.se http://www.callista.se/enterprise CADEC 2003-01-29, J2EE 1.4, Slide 1 J2EE 1.4 Target audience J2EE developers and architects Objectives

More information

Chair of Software Engineering. Languages in Depth Series: Java Programming. Prof. Dr. Bertrand Meyer. Exercise Session 10

Chair of Software Engineering. Languages in Depth Series: Java Programming. Prof. Dr. Bertrand Meyer. Exercise Session 10 Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Exercise Session 10 Today s Exercise Session Pattern of the Day Proxy Quizzes 2 Proxy Pattern Structural

More information

Just Spring Madhusudhan Konda

Just Spring Madhusudhan Konda Just Spring Just Spring Madhusudhan Konda Beijing Cambridge Farnham Köln Sebastopol Tokyo Just Spring by Madhusudhan Konda Copyright 2011 Madhusudhan Konda. All rights reserved. Printed in the United

More information

Chair of Software Engineering. Languages in Depth Series: Java Programming. Prof. Dr. Bertrand Meyer. Exercise Session 8.

Chair of Software Engineering. Languages in Depth Series: Java Programming. Prof. Dr. Bertrand Meyer. Exercise Session 8. Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Exercise Session 8 Tomas Hruz Today s Exercise Session Organisation Status of the projects (summary in

More information

Java Enterprise Edition. Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1

Java Enterprise Edition. Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1 Java Enterprise Edition Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1 Java Beans Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 2 Java Bean POJO class : private Attributes public

More information

Class 1: Homework. Intro to Computer Science CSCI-UA.0101 New York University Courant Institute of Mathematical Sciences Fall 2017

Class 1: Homework. Intro to Computer Science CSCI-UA.0101 New York University Courant Institute of Mathematical Sciences Fall 2017 Intro to Computer Science CSCI-UA.0101 New York University Courant Institute of Mathematical Sciences Fall 2017 1 1. Please obtain a copy of Introduction to Java Programming, 11th (or 10th) Edition, Brief

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

University of Palestine. Mid Exam Total Grade: 100

University of Palestine. Mid Exam Total Grade: 100 First Question No. of Branches (5) A) Choose the correct answer: 1. If we type: system.out.println( a ); in the main() method, what will be the result? int a=12; //in the global space... void f() { int

More information

Splitting the pattern into the model (this stores and manipulates the data and executes all business rules).

Splitting the pattern into the model (this stores and manipulates the data and executes all business rules). Tutorial 3 Answers Comp319 Software Engineering Object patterns Model View Controller Splitting the pattern into the model (this stores and manipulates the data and executes all business rules). View Controller

More information

1.00 Lecture 8. Using An Existing Class, cont.

1.00 Lecture 8. Using An Existing Class, cont. .00 Lecture 8 Classes, continued Reading for next time: Big Java: sections 7.9 Using An Existing Class, cont. From last time: is a Java class used by the BusTransfer class BusTransfer uses objects: First

More information

Exercise Session Week 6

Exercise Session Week 6 Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 6 Quiz 1: Does it compile? (Java) public class MyException extends Exception { Checked

More information

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

More information

The Singleton Pattern. Design Patterns In Java Bob Tarr

The Singleton Pattern. Design Patterns In Java Bob Tarr The Singleton Pattern Intent Ensure a class only has one instance, and provide a global point of access to it Motivation Sometimes we want just a single instance of a class to exist in the system For example,

More information

Dependency Injection with Guice

Dependency Injection with Guice Author: Assaf Israel - Technion 2013 Dependency Injection with Guice Technion Institute of Technology 236700 1 Complex Dependency Injection Deep dependencies (with no default) A depends on B, which depends

More information