Java框架spring Boot學習筆記(七):@Configuration,@bean註解

@Configuration做用在類上,至關於一個xml文件java

@bean做用於方法上,至關於xml配置中的<bean>標籤spring

 

一個例子:數據庫

新建一個Springboot工程springboot

新建一個User類:User.java測試

 1 package com.springboot.test;
 2 
 3 //創建一個User對象
 4 public class User {
 5     private String username;
 6     private String password;
 7     private Integer age;
 8 
 9     public String getUsername() {
10         return username;
11     }
12 
13     public void setUsername(String username) {
14         this.username = username;
15     }
16 
17     public String getPassword() {
18         return password;
19     }
20 
21     public void setPassword(String password) {
22         this.password = password;
23     }
24 
25     public Integer getAge() {
26         return age;
27     }
28 
29     public void setAge(Integer age) {
30         this.age = age;
31     }
32 }

 

新建一個數據庫管理類:UserDAO.java,這裏模擬數據庫查詢操做。this

 1 package com.springboot.test;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 // 模擬數據庫操做
 7 public class UserDAO {
 8     public List<User> queryUserList(){
 9         List <User> result = new ArrayList<User>();
10         for (int i=0;i<10;i++){
11             User user = new User();
12             user.setUsername("username:"+i);
13             user.setPassword("password:"+i);
14             user.setAge(i+1);
15             result.add(user);
16         }
17         return result;
18     }
19 }

 

新建一個UserService.javaspa

 1 package com.springboot.test;
 2 
 3 import org.springframework.beans.factory.annotation.Autowired;
 4 import org.springframework.stereotype.Service;
 5 
 6 import java.util.List;
 7 
 8 @Service
 9 public class UserService {
10 
11     @Autowired
12     //注入spring容器中的bean對象
13     private UserDAO userDAO;
14 
15     public List<User> queryUserList(){
16         //調用userDAO中的方法進行查詢
17         return userDAO.queryUserList();
18     }
19 }

 

新建配置文件SpringConfig.java,至關於在Spring中的xml配置。code

 1 package com.springboot.test;
 2 
 3 import org.springframework.context.annotation.Bean;
 4 import org.springframework.context.annotation.ComponentScan;
 5 import org.springframework.context.annotation.Configuration;
 6 
 7 @Configuration //經過該註解代表該類是一個Spring的配置,至關於一個xml文件
 8 @ComponentScan(basePackages = "com.springboot.test") //配置掃描包
 9 public class SpringConfig {
10 
11     @Bean //經過該註解來代表一個Bean對象,至關於一個xml中的<bean>標籤
12     public UserDAO getUserDAO(){
13         return new UserDAO(); //直接new對象作演示
14     }
15 }

 

新建一個測試文件TestApplication.javaxml

 1 package com.springboot.test;
 2 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 3 
 4 import java.util.List;
 5 
 6 public class TestApplication {
 7     public static void main(String[] args) {
 8         //經過Java配置來實例化Spring容器
 9         AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
10         //在Spring容器中獲取Bean對象
11         UserService userService = context.getBean(UserService.class);
12 
13         //調用對象中的方法
14         List<User> list = userService.queryUserList();
15         for (User user:list){
16             System.out.println(user.getUsername() +", "+ user.getPassword()+", "+user.getAge());
17         }
18 
19         //銷燬context
20         context.destroy();
21     }
22     
23 }

 

文件結構對象

 

運行輸出

username:0, password:0, 1
username:1, password:1, 2
username:2, password:2, 3
username:3, password:3, 4
username:4, password:4, 5
username:5, password:5, 6
username:6, password:6, 7
username:7, password:7, 8
username:8, password:8, 9
username:9, password:9, 10

 

能夠看出,使用springboot能夠經過註解的方式對容器進行配置,能夠避免使用晦澀費勁的xml配置,方便開發以及後續的管理。

相關文章
相關標籤/搜索