What is Spring MVC, Why Spring MVC and Some Features of Spring MVC
Spring Framework Course Curriculum
New Spring Framework Training batch starting from 01 Dec 09:30 PM - 10:30 PM Spring is an application framework and inversion-of-control (IOC) container for the Java platform.
The framework's core features can be used by any Java application and are ideal for enterprise and
internet-based app development. Get a comprehensive in-depth knowledge of every Spring Framework related Concept.
Learn how to get started with Spring Boot, a powerful framework to build web applications quickly, using less code.
The Java-based programs you build in Spring Boot "just run": they resolve their own dependencies and create containers for running code in any environment.
Log4j/Logging and Spring MVC for robust applications
Training Video - 1
Duration 1 hour 10 mins
Log4j Configurations
Apache Log4j - Download log4j jar and Add as part of classpath with basic understanding
Configure logs in Projects(without properties or XML file) using BasicConfigurator and configure() method
Configure logs using properties file and PropertyConfigurator and configure() method
Mention layout class, conversion pattern,appenders, root Logger in properties file, read the properties, make logs at all levels(DEBUG, INFO, WARN, ERROR and FATAL) on both console and log file
Configure logs using XML file and DOMConfigurator API and configure() method
Mention configurations through XML and make logs at all levels on both console and in separate log file.
Training Video -1a
Duration 52 mins
Getting Started and Project Setup
Why use Spring MVC and Features of Spring MVC
Spring MVC architecture, Create Maven Spring MVC project, Add folders and static files
Java configuration for Spring MVC, Add controllers and test the application
Generate Spring MVC project with Spring Boot, Add static files and view resolver
Add controllers and test the application
Servlets and JSP
Training Video - 2
Duration 1 hr 40 mins
Servlets
Environment Set up - Tomcat/JBoss and STS IDE Setup - Run tomcat/jboss localhost home page in browser for successful server start up verification
@WebServlet annotation, url Pattern, Path and Extension Mapping, Default Servlet, HttpServlet, HttpServletRequest, HttpServletResponse, ServletContext, web.xml, servlet-mapping and context-param
HttpSerssion, Init Params, RequestDispatcher, scheme, hostname, port, context path, servlet path, path info, query and fragment URL Parts, Web and Application Server
Login Application Project using @WebServlet, urlPattern, web.xml, HttpSession and Cookie
Project Execution
Training Video - 3
Duration 1 hrs 50 mins
JSP
JSP Features, JSP and Servlet Differences and Advantages of JSP over Servlet
JSP Scripting Elements(Scriplets, Expression and Declaration) in Project
9 JSP implicit objects(request, response, out, session, application, config, pageContext, page and exception) and JSP Scopes(page, request, session and application scopes)
JSTL(JSP Standard Tag Library) - Core tags, Function tags, Formatting tags, XML tags and SQL tags - JSTL Functions
Custom Tags in JSTL, TLD File, web.xml JSP side configuration, JSTL Jar Files in pom.xml
Execute All Projects
Spring Core, MVC and Web
Training Video - 4
Duration 55 mins
Spring Dependency Injection
spring-context and JUnit
@Component, @Autowired, @Configuration, @ComponentScan and @Bean Annotations
Constructor-Based and Setter-Based DI using both XML based and Annotation based project implementation
AnnotationConfigApplicationContext and ClassPathXmlApplicationContext APIs
@Before, @After and @Test Annotation
Execute Project
Training Video - 5
Duration 50 mins
Bean Scopes - singleton, prototype, session, request and global-session
Standalone Application(singleton and prototype)
Spring Boot Application(session, request and global-session)
org.springframework.boot, spring-boot-starter-parent, spring-boot-starter-web and spring-boot-starter-tomcat artifact Ids
@Component, @Autowired, @Scope, ScopedProxyMode, @RestController, @RequestMapping and @SpringBootApplication Annotations to understand all bean scopes
server.servlet.session.cookie.max-age and server.servlet.session.timeout
Execute All Projects
Training Video - 6
Duration 1 hr 30 mins
@Value, @PropertySource, @Service, @Qualifier, @Value, @Repository, @RestController and @RequestMapping Annotations
@Value, @PropertySource and @Service Annotations
@Value, @Repository and @RestController Annotations
@Qualifier Annotation and default-autowire, default-autowire-candidates and context:annotation:config
@RequestMapping Annotation
Execute All Projects
Training Video - 7
Duration 1 hr 15 mins
Exception Handling
Exception Handling - Maven Dependencies, @ControllerAdvice and @ExceptionHandler Annotation and HandlerExceptionResolver API.
JSON Message Converters and HandlerExceptionResolver API
Handle Exceptions with Project Execution
Hibernate, JDBCTemplate, JNDI, Form Validators, Spring Security and Transaction Management
Training Video - 8
Duration 2 hour 30 mins
Form Validators
BindingResult API, @InitBinder and @ModelAttribute Annotation
@Size, @NotEmpty, @Email, @Min, @Max, @NotNull, @DateTimeFormat and @Past Annotations
@Documented, @Constraint, @Target, @Retention and @interface Annotations and ValidationUtils API
How every kind of validations like name, email, age, gender, birthday and phone number are made on a page using API provided by spring or external frameworks?
How all these validations are done on a page using annotations provided by spring or external frameworks?
How do we write Controller classes for validating data on forms and with what business logic?
Training Video - 9
Duration 1 hr 10 mins
JdbcTemplate, RowMapper, DataSource and DataSourceDriverManager
JdbcTemplate, RowMapper, mapRow, DataSource, DriverManagerDataSource, AnnotationConfigApplicationContext API and database configuration in properties file
Spring JDBC Maven Dependencies to Execute JDBC Projects and ojdbc6 or ojdbc14 jar files
Java Configurations to replace xml based configurations
Update, Delete, Select, GetAll, Find Unique Record in Database Using Spring Code
All Database CRUD Operations
Training Video - 10
Duration 1 hr 20 mins
JNDI
JNDI, SecurityConfig, WebSecurityConfigurerAdapter, configure, Context, InitialContext and DataSource
SecurityWebApplicationInitializer and AbstractSecurityWebApplicationInitializer API
JSON Output
Project Execution Using JNDI
Training Video - 11
Duration 1 hr 20 mins
Spring Security
Spring Security or Login Based App or Role based Access on certain functionality - How it is implemented in web project
Security based jar/artifact ids required as part of POM
WebSecurityConfigurerAdapter API, HttpSecurity API, authorizeRequests() and configure method
AuthenticationManagerBuilder API, inMemoryAuthentication() method, withUser() method, password() and authorities() methods
AbstractSecurityWebApplicationInitializer API and AbstractAnnotationConfigDispatcherServletInitializer API and thier methods- replacement of root-context.xml and web.xml file
@EnableWebSecurity, @Controller, @EnableWebMvc, @Configuration, @ComponentScan, @Bean and @Import Annotations
Training Video - 12
Duration 1 hr
Spring Security Using Configurations
UserDetailsService, loadUserByUsername, getAuthorities(), /j_spring_security_check and /j_spring_security_logout urls
JndiObjectFactoryBean and DriverManagerDataSource
http authentication-manager, concurrency-control, access-denied-handler, form-login, intercept-url and session-management attributes to set security principles
RoleVoter bean to use custom access roles, setting up default roles ROLE_{XXX}
Training Video - 13
Duration 1 hr 20 mins
Transaction Management
@Transactional Annotation
spring-tx jar to setup Transactions as part of projects
DataSourceTransactionManager API to set up transactions and transaction-manager attribute
How to provide DriverManagerDataSource(dataSource) to DataSourceTransactionManager to post transactions in database
CRUD operations as part of database
Entire end to end Project Execution
RestTemplate, RestController(Rest WebServices) and Spring AOP(Aspect Oriented Programming)
Training Video - 14
Duration 1 hr 25 mins
RestTemplate
Rest Calls with external systems using URLs and URI
RestTemplate API - getForObject and postForObject methods
URI Constants Setup, Controllers for the URIs
jackson-databind API - json output, @JsonSerialize Annotation and RequestMappingHandlerAdapter and MappingJackson2HttpMessageConverter for JSON messages to post and fetch
Project Execution
Training Video - 15
Duration 1 hr 15 mins
@RestController to test Rest Calls Using Advanced Rest Client
@RestController, @XmlRootElement, @Repository, @GetMapping, @PostMapping and @DeleteMapping Annotations
MappingJackson2HttpMessageConverter and Jaxb2RootElementHttpMessageConverter APIs
jackson-databind, javax.activation-api, jaxb-api and jaxb-runtime artifact Id/jar files
Advanced Rest Client in browser to test each rest calls
GET, POST and DELETE Rest Operations
Project Execution
Training Video - 16
Duration 1 hr 40 mins
Aspect Oriented Programming
AOP Overview, Definition and Explanation
@Aspect, @After, @AfterThrowing, @AfterReturning, @Before and @Around Annotation
ProceedingJoinPoint API, JoinPoint and @Pointcut Annotation
aop:aspectj-autoproxy, aop:config, aop:pointcut, aop:aspect and pointcut-ref attributes
aspectjrt, aspectjtools, aspectjweaver artifact ids and their stable version
Project Execution
Spring Boot and Spring Micro Services
Training Video - 17
Duration 1 hr 50 mins
Spring Boot
What is Spring Boot and Why Spring Boot Project is used?
tag in Spring Boot pom.xml, Stable versions for Spring Boot parent and Dependent jar files
@Xmlrootelement, jaxb jar files, @Repository, @RequestMapping, @RestController for Rest Web Services call
Creation of RESTful Web Service with Spring Boot and @SpringBootApplication Annotation
Model Classes Annotations - @Entity, @Id, @GeneratedValue and @Column
Spring Boot - Thymeleaf and spring-boot-starter-thymeleaf projects
Training Video - 18
Duration 1 hour 50 mins
Spring Micro Services
Microservice, Set up your first microservice, Code your first microservice and Document microservices with Swagger
Welcome to external configuration, Set up external configuration, Expose external configuration with configuration server and Consume external configuration with Spring
Consuming Services, Service discovery with Eureka, The Eureka service, Register the microservice with Eureka, Consume a service with RestTemplate and Ribbon and Consume an interface with Feign
Isolating from Failures - The circuit breaker pattern, Leverage Hystrix and The Hystrix console