How to do quick user assign in kanban in Odoo 17 ERP
Java spring framework
1. Overview of Spring Framework
Rajeev Gupta
M. Tech. CS
rgupta.trainer@gmail.com
2. Objective
• Introduction to Spring framework
• Spring module
• Spring architecture
• Introduction to DI
• Introduction to AOP
rgupta.trainer@gmail.com
3. Spring Framework
• Spring Framework is focused on simplifying
enterprise Java development through
1. dependency injection
2. aspect-oriented programming
3. boiler-plate reduction.
rgupta.trainer@gmail.com
5. Bean
• Objects that are managed by the Spring container are
called beans.
• A bean is an object that is instantiated, assembled, and
otherwise managed by a Spring IoC container.
• Beans, and the dependencies among them, are reflected in
the configuration metadata used by a container.
– BeanFactory provides the configuration framework and basic
functionality, and the
– ApplicationContext adds more enterprise-specific functionality
rgupta.trainer@gmail.com
6. CORE SPRING CONTAINER
• Container manages how the beans in a Spring-enabled
application are created, configured, and managed.
• Within this module you’ll find the Spring bean factory,
which is the portion of Spring that provides
dependency injection.
• In addition to the bean factory and application context,
this module also supplies many enterprise services
such as email, JNDI access, EJB integration, and
scheduling.
rgupta.trainer@gmail.com
7. SPRING’S AOP MODULE
• AOP module serves as the basis for developing
your own aspects for your Spring-enabled
application.
• Like DI, AOP supports loose coupling of
application objects.
• But with AOP, application-wide concerns (such as
transactions and security) are decoupled from
the objects to which they’re applied.
rgupta.trainer@gmail.com
8. DATA ACCESS DAO
• Spring’s template-based JDBC abstraction can greatly
simplify JDBC code
• This module also builds a layer of meaningful exceptions on
top of the error messages given by several database
servers.
• Spring provide hooks into several popular ORM
frameworks, including Hibernate, Java Persistence API, Java
Data Objects, and iBATIS SQL Maps.
• Spring’s AOP module provide transaction management
services for objects in a Spring application
rgupta.trainer@gmail.com
9. WEB AND REMOTING
• Spring provide capable MVC framework that promotes
Spring’s loosely coupled techniques in the web layer of
an application
• This framework comes in two forms:
– a servlet-based framework
• for conventional web applications and
– portlet-based application
• for developing against the Java portlet API.
• Spring has remoting capabilities include Remote
Method Invocation (RMI), JAX-WS
rgupta.trainer@gmail.com
10. What is Spring?
Spring is a container and it manages the lifecycle and
configuration of application object i.e. called Spring
beans
This make spring a container running within an container
(ie JVM or web container)
Spring is supposed to less complex framework then
provided by framework such as EJB
Thus bean is less complex EJB!!!
rgupta.trainer@gmail.com
11. Spring as an container…
rgupta.trainer@gmail.com
12. In a Spring application, objects are created, wired
together, and live within the Spring container
rgupta.trainer@gmail.com
13. In a Spring application, objects are created, wired
together, and live within the Spring container
rgupta.trainer@gmail.com
14. • In a Spring-based application, your application objects will live within the
Spring container.
• Container will create the objects, wire them together, configure them, and
manage their complete lifecycle from cradle to grave (or new to finalize(),
as the case may be).
• The container is at the core of the Spring Framework.
• Spring’s container uses dependency injection (DI) to manage the
components that make up an application.
• This includes creating associations between collaborating components. As
such, these objects are cleaner and easier to understand, support reuse,
and are easy to unit test
rgupta.trainer@gmail.com
15. Two important bean containers
• org.springframework.beans.factory.BeanFactory
• org.springframework.context.ApplicationContext
rgupta.trainer@gmail.com
16. Two type of container
• Bean factories
• defined by the org.springframework.beans.factory.BeanFactory
interface) are the simplest of containers.
• Bean factories provides basic support for DI.
• Application contexts
• defined by the org.springframework.context.ApplicationContext
interface.
• Application context build on the notion of a bean factory by
providing application framework services, such as the ability to
resolve textual messages from a properties file and the ability to
publish application events to interested event listeners
rgupta.trainer@gmail.com
18. ApplicationContext
An application context gives more:
• Support for I18N(Internationalization) for
messages.
• Provides generic way to load resources.
• Publish events to beans registered as events.
rgupta.trainer@gmail.com
19. ApplicationContext
• ClassPathXmlApplicationContext - XML file
located in the classpath
• FileSystemXmlApplicationContext - XML file in
the file system
• XmlWebApplicationContext - XML file
contained within a web application
rgupta.trainer@gmail.com
20. ApplicationContext
• ApplicationContext context = new
FileSystemXmlApplicationContext("c:/foo.xml");
• ApplicationContext context = new
ClassPathXmlApplicationContext("foo.xml");
rgupta.trainer@gmail.com
21. Beans Life cycle
rgupta.trainer@gmail.com
Above Figure is from Spring in action book, Manning publications
22. ApplicationContext – Bean Life Cycle
Above Figure is from Spring in action book, Manning
rgupta.trainer@gmail.com
publications