Java Topics
Spring Core
Last Updated : 26 May, 2026
title: Spring Core
title: Spring Core description: Spring Core module - IoC Container aur Beans
Spring Framework ka sabse basic aur important module. IoC (Inversion of Control) Container provide karta hai.
IoC — Inversion of Control
Traditional programming mein hum khud objects banate hain. IoC mein yeh responsibility container ko de dete hain.
// Without IoC — hum khud banate hain
class OrderService {
private PaymentService paymentService = new PaymentService(); // tight coupling
}
// With IoC — container inject karta hai
class OrderService {
private PaymentService paymentService; // Spring inject karega
}ApplicationContext — IoC Container
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
// Container start karo
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
// Bean lo
OrderService service = ctx.getBean(OrderService.class);
service.placeOrder();Spring Core Annotations
@Component
Class ko Spring bean banata hai.
@Component
public class EmailService {
public void sendEmail(String to, String msg) {
System.out.println("Email sent to: " + to);
}
}@Autowired
Dependency automatically inject karta hai.
@Component
public class NotificationService {
@Autowired
private EmailService emailService;
public void notify(String user) {
emailService.sendEmail(user, "Notification");
}
}@Configuration + @Bean
@Configuration
public class AppConfig {
@Bean
public DataSource dataSource() {
// DataSource object banao aur return karo
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.build();
}
@Bean
public JdbcTemplate jdbcTemplate(DataSource ds) {
return new JdbcTemplate(ds);
}
}@ComponentScan
Specify karo kahan beans dhundhe.
@Configuration
@ComponentScan(basePackages = "com.example")
public class AppConfig { }BeanFactory vs ApplicationContext
| BeanFactory | ApplicationContext | |
|---|---|---|
| -- | -- | -- |
| Type | Basic container | Advanced container |
| Bean loading | Lazy (first use par) | Eager (startup par) |
| AOP Support | Limited | Full |
| Event handling | No | Yes |
| Recommended | No | Yes |
Property Injection
@Component
public class AppSettings {
@Value("${app.name:MyApp}")
private String appName;
@Value("${app.version:1.0}")
private String version;
@Value("${server.port:8080}")
private int port;
}application.properties
app.name=Java Master App
app.version=2.0
server.port=9090Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Spring Core.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Java topic.
Search Terms
java, java programming, core java, java master course, java notes, master, course, spring
Related Java Topics