Introduction to the Spring 4 Framework (The Next Generation) Training in Worcester
| 
                	 We offer private customized training for groups of 3 or more attendees.
                 | ||
| Course Description | ||
| The course starts with in-depth coverage on using the powerful
capabilities of Spring's Core module to reduce coupling and increase the
flexibility, ease of maintenance, and testing of your applications. It
goes on to cover many of the most important capabilities of Spring,
including integrating persistence layers (e.g. Hibernate/JPA) with
Spring, using Spring's powerful Aspect Oriented Programming (AOP) to
program cross-cutting concerns in a safe and maintainable way, and using
Spring's declarative transaction capabilities. It also covers
integration of Spring with Java EE Web applications.  This course is
hands on with labs to reinforce all the important concepts.  It will
enable you to build working Spring applications and give you an
understanding of the important concepts and technology in a very short time. 
                        Course Length: 3 Days Course Tuition: $1290 (US) | ||
| Prerequisites | |
| Programmers with experience in working with Java and Object - Oriented (OO) programming. | |
| Course Outline | 
| 
		Session 1:  
		Introduction to Spring 
		Overview of Spring Technology 
		Challenges for Modern Applications 
		Motivation for Spring, Spring Architecture 
		The Spring Framework 
		Spring Introduction 
		Managing Beans 
		Inversion of Control / IoC, Dependency Injection / DI 
		Configuration Metadata Overview, Configuring Beans (XML) 
		The Spring Container 
		Overview of the Spring Container 
		A Simple Spring Example 
		ApplicationContext Overview 
		ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, AnnotationConfigApplicationContext 
		API and Usage 
		Dependencies and Dependency Injection (DI) 
		Examining Dependencies 
		Dependency Inversion 
		Dependency Injection (DI) in Spring - Basic Configuration and Usage 
		Session 2:   
		Configuration in Depth 
		Annotation Driven Configuration 
		JSR 330 (@Named) and Spring (@Component) annotation styles 
		@Named/@Component, @Inject/@Autowired, @Repository, @Service 
		Configuring Beans and Autowiring with Annotations 
		Enabling Annotations - context:component-scan 
		Pros and Cons 
		Java Based Configuration (@Configuration) 
		Overview - code-centric Configuration 
		@Configuration and @Bean 
		Dependency Injection 
		Resolving Dependencies on Other Beans, Injecting Configuration Classes 
		Pros and Cons 
		Integrating Configuration Types 
		Choosing a Configuration Style 
		Integrating Configuration Styles 
		Importing: @Import and 
		Scanning with @Configuration style 
		Bean Scope and Lifecycle 
		Bean Scope Defined - singleton, prototype, and Other Scopes 
		Configuring Scope 
		Bean Creation Lifecycle, Lifecycle Callbacks 
		BeanPostProcessor, Event Handling 
		Session 3:   
		Wiring in Depth 
		Value Injection 
		Configuring Value Properties, Property Conversions 
		Externalizing Values in Properties Files 
		Constructor Injection 
		Constructor Injection Overview 
		Configuration - @Configuration and XML 
		p: and c: namespaces for XML configuration 
		Qualifiers / Domain Specific Language (DSL) 
		Limitations of Autowiring 
		Qualifiers and DSL 
		Creating and Using an Annotation-Based DSL for Bean Configuration 
		Benefits of Qualifiers for Bean Configuration 
		Profiles 
		Profiles Overview 
		Configuring Profiles (XML and @Configuration) 
		Activating Profiles 
		Overview of SpEL 
		Session 4:  
		 Database Access with Spring 
		Overview of Spring database support 
		Configuring a DataSource 
		Using Spring with Hibernate 
		High Level Hibernate Overview 
		SessionFactory configuration, LocalSessionFactoryBean 
		Contextual Sessions and Spring Integration 
		Using Spring with JPA 
		Managing the EntityManager (EM) 
		LocalContainerEntityManagerFactoryBean and Container-managed EMs 
		JEE and JNDI Lookup of the EM 
		Configuration and Vendor Adaptors 
		Creating a JPA Repository/DAO Bean - @PersistenceUnit, @PersistenceContext 
		Session 5:   
		Aspect Oriented Programming (AOP) 
		Overview of AOP 
		Crosscutting Concerns 
		AOP Basics, Aspect, Joinpoint, Advice, Pointcut 
		Spring AOP Introduction 
		Configuration - XML and @AspectJ 
		Defining an Aspect, Pointcut, and Advice 
		How Advice is Triggered 
		Pointcut Expressions and Advice 
		Pointcut Expression Overview 
		The execution() Designator 
		Other Designators (within, target, args, @target, ...) 
		Kinds of Advice - before, after, around, after-returning, after-throwing 
		Marker Annotations (Rubber Stamp AOP) 
		Issue with AOP Configuration 
		Defining an AOP Marker / Rubber Stamp 
		Configuring AOP Using a Marker 
		Advantages of Marker Annotations 
		@AspectJ Based AOP Support 
		@AspectJ Annotations Overview 
		Defining an Aspect, Pointcut, and Advice 
		Other Considerations 
		Spring AOP Proxies and Self-Invocation Issues 
		Load-Time Weaving 
		Caveats of AOP 
		Session 6:   
		Spring Transaction (TX) Management 
		Intro to Spring Transaction Management 
		Spring Transaction Managers 
		Spring Declarative TX Management 
		Spring TX Scope and Propagation 
		Spring TX Attributes (REQUIRED, SUPPORTS, etc) 
		XML Configuration of Transactions 
		Specifying Advice, TX Attributes, and Methods 
		Linking Advice with Pointcuts 
		Benefits of XML Configuration of TX Behavior 
		Session 7:   
		Web Applications with Spring 
		Integrating Spring with Java EE Web Apps 
		ContextLoaderListener 
		WebApplicationContext 
		Using Spring beans in Wep app controller logic 
		Session 8:  XML Specific Configuration 
		Collection Valued Properties - Configuring and using lists, sets, etc. 
		Additional Capabilities 
		Factory Classes and Factory Methods 
		Definition Inheritance (Parent Beans) 
		AutoWiring with XML 
		Inner Beans, Compound Names 
		Appendix:  Maven and Spring | 
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- AI Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Azure Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Data Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- SAS Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
- RED HAT ENTERPRISE LINUX SYSTEMS ADMIN I 
 3 November, 2025 - 7 November, 2025
- ASP.NET Core MVC (VS2022) 
 24 November, 2025 - 25 November, 2025
- RED HAT ENTERPRISE LINUX SYSTEMS ADMIN II 
 8 December, 2025 - 11 December, 2025
- Introduction to Spring 6, Spring Boot 3, and Spring REST 
 15 December, 2025 - 19 December, 2025
- Python for Scientists 
 8 December, 2025 - 12 December, 2025
- See our complete public course listing 
Java Programming Uses & Stats
| Difficulty | Popularity | Year Created1995 | 
| Pros 
	Most Commonly Used:  
	Great Career Choice:  
	Android Apps Development: 
	It Can Run On Any Platform: 
	Great Supporting IDE's: | Cons 
	Uses a Lot of Memory: 
	Difficulty in Learning:  
	Slow Start Up Times: 
	Verbose and Complex Code: 
	Commercial License Cost: | 
| Java Programming Job Market | 
|   Average Salary |   Job Count |   Top Job Locations 
	New York City  | 
| Complimentary Skills to have along with Java Programming - If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally. As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development. Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings... | 






