pyqb

导航

 

@Configuration作用在类上,相当于一个xml文件

@bean作用于方法上,相当于xml配置中的<bean>标签

 

一个例子:

新建一个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,这里模拟数据库查询操作。

 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.java

 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配置。

 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.java

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

 

posted on 2017-11-26 11:04  没有音乐就退化耳朵  阅读(376)  评论(0编辑  收藏  举报