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 tạo một bean trong Spring IoC. Ngoài cách tạo bằng XML thì chúng ta có thể hoàn toàn tạo bean bằng sử dung 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 subcribe kênh youtube dưới đây nhé. Videos về các kỹ năng mềm và lập trình sẽ được cập nhật hằng tuần


Comments