如何使用注解来配置Spring Bean

学习使用Java配置通过任何独立应用程序的注解创建spring bean。我们将学习如何在不扫描组件注解和使用@Bean注解的情况下创建它。

目录

1。 使用组件扫描的注解配置 
2。 使用@Bean和@Configuration注解

1.带有组件扫描的注解配置

使用组件扫描创建bean可以分两个步骤完成。

1.1。用相应的组件注解为bean注解

我们将酌情使用以下四个注解之一。

  • @Component
  • @Repository
  • @Service
  • @Controller

阅读更多:Spring组件注解

package com.how2codex.spring.service.impl;

import org.springframework.stereotype.Service;
import com.how2codex.spring.model.Employee;
import com.how2codex.spring.service.EmployeeManager;

@Service
public class EmployeeManagerImpl implements EmployeeManager {

	@Override
	public Employee create() {
		Employee emp =  new Employee();
		emp.setId(1);
		emp.setName("Lokesh");
		return emp;
	}
}

1.2。在@ComponentScan注解中包含Bean包

@Configuration
@ComponentScan(basePackages = "com.how2codex.spring.service")
public class AppConfig {
	
}

1.3。Demo

package com.how2codex.spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.how2codex.spring.model.Employee;
import com.how2codex.spring.service.EmployeeManager;

public class Main 
{
    public static void main( String[] args )
    {
    	//Method 1
    	//ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
    	
    	//Method 2
    	AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
        ctx.register(AppConfig.class);
        ctx.refresh();
        
    	EmployeeManager empManager = ctx.getBean(EmployeeManager.class);
    	Employee emp = empManager.create();
    	
    	System.out.println(emp);
    }
}

程序输出:

Employee [id=1, name=Lokesh]

2.使用@Bean和@Configuration注解

要使用@Bean注解创建spring应用程序内容,请使用以下步骤-

2.1。创建Java Bean类(无需注解或任何其他操作)

public class EmployeeManagerImpl implements EmployeeManager {

	@Override
	public Employee create() {
		Employee emp =  new Employee();
		emp.setId(1);
		emp.setName("Lokesh");
		return emp;
	}
}

2.2。在配置类中创建@Bean注解方法

package com.how2codex.spring;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.how2codex.spring.service.EmployeeManager;
import com.how2codex.spring.service.impl.EmployeeManagerImpl;

@Configuration
public class AppConfig {
	
    @Bean
    public EmployeeManager employeeManager() {
        return new EmployeeManagerImpl();
    }
	
}

2.3。Demo

package com.how2codex.spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.how2codex.spring.model.Employee;
import com.how2codex.spring.service.EmployeeManager;

public class Main 
{
    public static void main( String[] args )
    {
    	//Method 1
    	//ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
    	
    	//Method 2
    	AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
        ctx.register(AppConfig.class);
        ctx.refresh();
        
    	EmployeeManager empManager = ctx.getBean(EmployeeManager.class);
    	Employee emp = empManager.create();
    	
    	System.out.println(emp);
    }
}

程序输出:

Employee [id=1, name=Lokesh]

这就是使用纯Java代码和注解创建Spring bean的两种简单方法。

 

saigon has written 1445 articles

Leave a Reply