springBoot学习01--利用java配置优于xml配置

2017-10-06  本文已影响0人  exmexm

先总结整个demo的作用:
demo其实就是重点说明:
1、@Configuration : 通过注解类,证明该类是Spring 的配置 相当于xml文件
2、@Bean : 通过注解有@Configuration注解的类的方法,相当于一个bean对象,即xml中的<bean>

直接上实例:
1、编写User:

public class User {

    private String username;

    private String password;

    private Integer age;
//省略getter和setter
}

2、编写DAO

public class UserDao {

    public List<User> queryUserList() {
        List<User> result = new ArrayList<User>();
        // 模拟数据库的查询
        for (int i = 0; i < 10; i++) {
            User user = new User();
            user.setUsername("username_" + i);
            user.setPassword("password_" + i);
            user.setAge(i + 1);
            result.add(user);
        }
        return result;
    }
}

3、编写service

@Service
public class UserService {
    @Autowired // 注入Spring容器中的bean对象
    private UserDao userDao;

    public List<User> queryUserList() {
        // 调用userDAO中的方法进行查询
        return this.userDao.queryUserList();
    }
}
4、利用java类编写配置(重点)
@Configuration // 通过噶注解证明该类是Spring 的配置 相当于xml文件
@ComponentScan(basePackages = "com.winney.springjavaxml") //自动扫描包,我这里的所有dao、pojo、service都是放在同一个包下 的
public class SpringConfig {
    @Bean // 通过该注解注解方法 相当于一个bean对象,即xml中的<bean>
    public UserDao getUserDao() {
        return new UserDao(); // 直接new对象
    }
}

5、测试

public class Mian {
    public static void main(String[] args) {
        // 通过Java配置来实例化Spring容器
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);

        // 在Spring容器中获取Bean对象
        UserService userService = context.getBean(UserService.class);

        // 调用对象中的方法
        List<User> list = userService.queryUserList();
        for (User user : list) {
            System.out.println(user.getUsername() + ", " + user.getPassword() + ", " + user.getPassword());
        }
        context.close();
        // 销毁该容器
        context.destroy();
    }
}
上一篇下一篇

猜你喜欢

热点阅读