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配置,方便开发以及后续的管理。

相关文章
相关标签/搜索