Sử dụng Annotation @Bean trong Spring

Giới thiệu nội dung bài viết

Chào bạn, trong bài viết hôm nay chúng ta sẽ nói cách sử dụng Annotation Bean để cấu hình cho dự án Spring.

1. Giới thiệu @Bean Annotation

Trong các bài trước về tạo bean trong XML chúng ta sử dụng thẻ để tạo một bean trong Spring IoC. Ngoài cách tạo bằng XML thì chúng ta hoàn toàn có thể tạo bean bằng cách sử dụng Annotation @Bean

2. Khai báo bean bằng cách sử dụng @Bean

  • Tạo bean sử dụng Annotation @Bean
1
2
3
4
5
6
7
8
9
10
11
12
13
@Configuration
public class Application {

 @Bean
 public CustomerService customerService() {
  return new CustomerService();
 }
 
 @Bean
 public OrderService orderService() {
  return new OrderService();
 }
}
  • Tạo bean bằng xml
1
2
3
4
<beans>
        <bean id="customerService" class="com.companyname.projectname.CustomerService"/>
        <bean id="orderService" class="com.companyname.projectname.OrderService"/>
</beans>

3. Vòng đời @Bean

Annotation @Bean cũng hỗ trợ chức năng Initialization và Destruction giống như trong Spring XML là init-method và destroy-method.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Foo {
        public void init() {
                // initialization logic via xml config
        }
}

public class Bar {
        public void cleanup() {
                // destruction logic via xml config
        }
}

@Configuration
public class AppConfig {

        @Bean(initMethod = "init")
        public Foo foo() {
                return new Foo();
        }

        @Bean(destroyMethod = "cleanup")
        public Bar bar() {
                return new Bar();
        }

}

4.Thay đổi tên của bean

Chúng ta sử dụng thuộc tính name để đặt tên cho bean.

1
2
3
4
5
6
7
8
9
10
11
12
13
@Configuration
public class Application {

 @Bean(name = "cService")
 public CustomerService customerService() {
  return new CustomerService();
 }
 
 @Bean(name = "oService")
 public OrderService orderService() {
  return new OrderService();
 }
}

Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments