Introduction to the Spring 4 Framework (The Next Generation) Training in Battle Creek
| 
                 
                	 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
 
- ASP.NET Core MVC (VS2022) 
24 November, 2025 - 25 November, 2025 - Fast Track to Java 17 and OO Development 
8 December, 2025 - 12 December, 2025 - RED HAT ENTERPRISE LINUX SYSTEMS ADMIN II 
8 December, 2025 - 11 December, 2025 - RHCSA EXAM PREP 
17 November, 2025 - 21 November, 2025 - Introduction to Spring 6, Spring Boot 3, and Spring REST 
15 December, 2025 - 19 December, 2025 - See our complete public course listing 
 
Software Design/Development and System Integration Uses & Stats
| 
	            				 Difficulty 
	            				
	            			 | 
	            			
	            				 Popularity 
	            				
	            			 | 
	            			Year Created  1995 | 
	            			
| 
	            				 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:  | 
	            			
| Software Design/Development and System Integration Job Market | 
	            				 
	            				Average Salary 
	            				 | 
	            			
	            				 
	            				Job Count 
	            				 | 
	            			
	            				 
	            				Top Job Locations 
	            				
	New York City   | 
	            			
| 
	            					Complimentary Skills to have along with Software Design/Development and System Integration
	            					 - 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...  | 
	            			

	            				
	            				
	            				




