[Spring] Features of Spring framework
"Programming model for object life cycle and dependency relationships"
Spring is important because it is also used as a government standard framework and is useful both domestically and overseas where many Java-based services are established.
1. Open source framework
This is a system developed and built by Spring framework developers for Java application development.
2. Manage Java objects as lightweight containers
Here, the spring container manages the life cycle of Java objects (beans) and provides additional functions to the objects.
Spring container has BeanFactory and ApplicationContext.
BeanFactory is responsible for registering beans and managing them, including creating and searching.
ApplicationContext can also manage beans like BeanFactory, because it inherits ListableBeanFactory and HierarchicalBeanFactory. The difference is that all singleton beans are loaded at the time of initialization and then the beans can be received without delay after the application starts.
“Now let’s learn about the Great Triangle of Spring.”
The three main elements that make up Spring are AOP, PSA, and IoC/DI. Let’s take a look at each one.
+ POJO (Plain Old Java Object)
It is an old-style Java object, and is a term (George McKenzie) that was used in protest against the use of heavy frameworks such as Java EE, resulting in the creation of "heavy" objects dependent on the framework. In other words, it means a pure Java object. It is a Java object that is not dependent on the technology of a specific framework.
In Toby's Spring, "A true POJO is an object designed in a way that is faithful to object-oriented principles and can be reused as needed without being dependent on the environment or technology." It is expressed as follows.
Here, for POJO, you should not inherit a pre-designated class, implement an interface, or include annotations. In other words, it means taking advantage of Java's object-oriented characteristics to enable development faithful to business logic. Makes maintenance management useful by reducing infrastructure logic.
3. Inversion of Control (IoC) and Dependency Injection (DI)
Since it manages the life cycle of an object, it can be said that the control flow is managed externally. It promotes loose coupling of applications, with control placed in the framework.
This method is used in most frameworks, and the code added by the developer moves according to what is decided in the framework. When this reversal of control occurs, what an object wants to do takes on a dependent relationship that requires help from another object. Since Spring even injects these dependencies, developers use the necessary objects by injecting them through Spring.
Specific examples in the dependency injection section are the annotations @Autowired (Spring-based) and @Resource.
4. AOP (Aspect-Oriented Programming) support
When you write one piece of code and need to use it in multiple classes, how can you reduce duplication?
Spring supports AOP. Aspect is a module and is divided into Advice (what to do) and Pointcut (application point). AspectJ is a Java AOP implementation that provides various join points and many functions.
Spring supports proxy-based AOP with aspect-oriented programming. Here, the proxy pattern means that a proxy should wrap an object that has the original work to do and handle the actual client's request.
To use AOP, you must add dependency as dependency in pom.xml.
* AOP is a concept that secures OOP.
5. PSA (Portable Service Abstraction)
Like the @Transactional annotation, it is abstraction that allows transaction services to be used without separate code, and it is service abstraction that provides this convenience. And combining multiple services using this abstraction is called PSA.
Software framework - Wikipedia, the free encyclopedia
Characteristics of Spring :: Appears to be a developer, seems not to be a developer
Spring Framework 3 - DI (Dependency Injection)
[10 minute Teco Talk] ??Yuan's Spring IoC/DI - YouTube
[SPRING] Inversion of Control (IoC) and Dependency Injection (DI) - An aspiring developer's blog
[SPRING] Inversion of Control (IoC) and Dependency Injection (DI) - An aspiring developer's blog
Comments
No comments yet. Be the first!
164 posts in 테크
- 2233D Gaussian Splatting vs Unreal Engine: Two Ways to Build a 3D World — and Where Each One Ships
- 222LLMs Inside Unreal Engine: The New Skills Game Developers Need in 2026
- 220Living With Claude Fable 5: How the Most Capable Model Changes the Way You Actually Work
- 219Luma's Bet: From Video Generator to a Single Model That Thinks in Pixels
- 215The Best AI Video Models in 2026: Types, Differences, and Where This Is All Going