1.0-springboot的java配置方式
1.创建User实体类。
@Data
public class User {
    private String username;
    private String password;
    private Integer age;
}
2.创建UserDao用于模拟数据库交互。
public class UserDao{
    public List<User> queryUserList() {
        List<User> result = new ArrayList<User>();
        //模拟数据库查询
        for(int i = 1;i < 10; i++) {
                User user = new User();
                user.setUsername("username_" + i);
                user.setPassword("password" + i);
                user.setAge(i);
                result.add(user);
        }
        return result;
    }
}
3.编写UserService用于实现User数据操作业务逻辑。
@service
public class UserService{
    @Autowired//注入Spring容器中的bean对象
    private UserDao userDao;
    public List<User> queryUserList() {
        //调用userDao中的方法进行查询。
        return this.userDao.queryUserList();
    } 
}
4.编写SpringConfig用于实例化Spring容器。
2017/12/26修改
注:这种以@Bean方式显示注入bean的方式,建议方法名与要注入的类名保持一致(这样创建的bean的id值就为方法名)。这样在调用SPEL表达式时就可以直接ID值调用了。
@Configuration//通过该注解来表明该类是一个spring的配置,相当于一个xml文件。
//配置扫描包。
@ComponentScan(basePackages = "cn.my.springboot.javaconfig")
public class SpringConfig {
    @Bean//通过该注解来表明是一个Bean对象,相当于xml中的<bean>
    public UserDao getUserDao() {
        return new UserDao();//直接new对象作演示。
    }
}
5.编写测试方法用于启动Spring容器。
public class Test {
    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.getAge());
        //销毁该容器
        context.destroy;
        }
    }
}
测试结果:

可以使用java代码完美的替代XML配置文件。 
至于结构请不清晰就是仁者见仁智者见智。
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号