Found 13 Articles for Spring

Difference between JDK dynamic proxy and CGLib proxy in Spring

Himanshu shriv
Updated on 09-Sep-2020 09:28:58
Spring AOP is proxy based. Spring used two types of proxy strategy one is JDK dynamic proxy and other one is CGLIB proxy.JDK dynamic proxy is available with the JDK. It can be only proxy by interface so target class needs to implement interface. In your is implementing one or more interface then spring will automatically use JDK dynamic proxies.On the other hand, CGLIB is a third party library which spring used for creating proxy. It can create proxy by subclassing. Spring uses CGLIB for proxy if class is not implementing interface.Sr. No.KeyJDK dynamic proxyCGLIB proxy1BasicIt can be only proxy ... Read More

Difference between applicationContext.xml and spring-servlet.xml in Spring Framework

Himanshu shriv
Updated on 09-Sep-2020 09:26:49
Applicationcontext.xml - It is standard spring context file which contains all beans and the configuration  that are common among all the servlets. It is optional file in case of web app. Spring uses ContextLoaderListener to load this file in case of web application. Spring-servlet.xml- It is a single entry point for Spring. DispatcherServlet scan this file and starts to load its component. It defines the bean and configuration that are only related to that servlet.In Spring MVC application we chain them in below order −          web.xml --> dispatcher servlet --> application contextSr. No.KeyApplicationContext.xmlSpring-servlet.xml1BasicapplicationContext.xml  defines the beans that ... Read More

Difference between DispatcherServlet and ContextLoaderListener in Spring

Himanshu shriv
Updated on 09-Sep-2020 09:06:17
ContextLoaderListener creates a root web-application-context for the web-application and puts it in the ServletContext. This context can be used to load and unload the spring-managed beans ir-respective of what technology is being used in the controller layer(Struts or Spring MVC).DispatcherServlet creates its own WebApplicationContext and the handlers/controllers/view-resolvers are managed by this context.Sr. No.KeyDispatcherServletContextLoaderListener1BasicThe task of the DispatcherServlet  is to send request to the specific Spring MVC controller ContextLoaderListener  reads the Spring configuration file (with value given against contextConfigLocation in web.xml ), parses it and loads the singleton bean defined in that config file. So we initialize the web application with ContextLoaderListener ... Read More

Difference between @Inject and @Autowired

Himanshu shriv
Updated on 09-Sep-2020 09:05:11
@Inject and @Autowired both annotations are used for autowiring in your application.@Inject annotation is part of Java CDI which was introduced in Java 6, whereas @Autowire annotation is part of spring framework. Both annotations fulfill same purpose therefore, anything of these we can use in our application.Sr. No.Key@Inject@Autowired1BasicIt is part of Java CDIIt is part of Spring framework2RequiredIt has no required attributeIt has required attribute3Default ScopeDefault scope of the autowired beans is SingletonDefault scope of the inject beans is prototype4AmbiguityIn case of ambiguity in beans for injection then @Named qualifier should be added in your code.In case of ambiguity in ... Read More

Difference between Spring AOP and AspectJ AOP

Himanshu shriv
Updated on 09-Sep-2020 09:02:34
Sr. No.KeySpring AOPAspectJ AOP1BasicIt is a simple implementation of AOP technology. It can be applied only the beans.It is a complete implementation of the AOP technology in Java. It can be applied in any java class.2Design Pattern  It uses the proxy pattern so aspects are applied on proxies objectIt doesn't use proxy pattern aspects are directly applied on the code.3PontCutsIt supports only method level points cutsNo Restriction4Weaving of AspectsThe weaving of Aspects will be performed by the container at container start-up Weaving of aspect can perform with a post compilation of your code through bytecode modification5Nested MethodAspects can’t be applied when ... Read More

Difference between singleton and prototype bean scope.

Himanshu shriv
Updated on 09-Sep-2020 08:59:54
Spring framework supports five types of bean scope −SingletonPrototypeRequestSessionGlobal SessionAs per the spring documentation −Singleton − It returns a single bean instance per Spring IoC container. This single instance is stored in a cache of such singleton beans, and all subsequent requests and references for that named bean return the cached object.Spring singleton is different than Java singleton. In java, one instance of the bean is created per JVM whereas in spring, one instance of the bean is created per application context.Proptype −As per the spring documentation −Spring does not manage the complete lifecycle of a prototype bean: the container ... Read More

Difference between @Bean and @Component annotation in Spring.

Himanshu shriv
Updated on 09-Sep-2020 08:56:07
 Spring supports multiple types annotations such as @Component, @Controller, @service @Repository and @Bean. All theses can be found under the org.springframework.stereotype package.When classes in our application are annotated with any of the above mentioned annotation then during project startup spring scan(using @componentScan) each class and inject the instance of the classes to the IOC container. Another thing the @ComponentScan would do is running the methods with @Bean on it and restore the return object to the Ioc Container as a bean.Sr. No.Key@Bean@Component1Auto detectionIt is used to explicitly declare a single bean, rather than letting Spring do it automatically. If any class ... Read More

Difference between Dependency Injection and Factory Pattern.

Himanshu shriv
Updated on 09-Sep-2020 08:53:23
Factory and Dependency injection both are the design pattern which can be used to enhance loose coupling abilities between the software components. Factory design pattern is used to create objects. But, injection and life cycle management of the object should be handled by programmer within the application. There is no way to configure everything in a single place. Therefore, programmers need to call object creation logic wherever it needed which eventually hinder the loose coupling abilities.In DI design pattern, creation of object, injecting of the instance and life cycle management of the instance can be handled outside the code. In spring, ... Read More

Difference between IOC and Dependency Injection in Spring.

Himanshu shriv
Updated on 09-Sep-2020 08:50:55
Inversion of control is a design principle which helps to invert the control of object creation.According to the paper written by Martin Fowler , inversion of control is the principle where the control flow of a program is inverted: instead of the programmer controlling the flow of a program, the external sources (framework, services, other components) take control of it. It's like we plug something into something else. He mentioned an example about EJB 2.0.Dependency Injection is a design pattern which implements IOC principle. DI provides objects that an object needs. Let’s say, class X is dependent on Y. So ... Read More

Difference Between Constructor Injection and Setter Injection in Spring

Himanshu shriv
Updated on 09-Sep-2020 08:49:37
Dependency Injection is a practice to pass dependent object to other objects. Spring has two types of Dependency Injection :Constructor based Injection -When container call the constructor of the class. It should be used for mandatory dependencies.Let’s say Class X is tightly  dependent on Class Y then we should use constructor based injection.  Setter based Injection - It can be used by calling setter methods on your beans. It should be used for optional dependencies.Both types of injection has their own pros and cons. Below is a list of some differences −Sr. No.KeyConstructor based InjectionSetter based Injection1CircularIt doesn’t allow to ... Read More