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容器。

@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配置文件。  至于结构请不清晰就是仁者见仁智者见智。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏青青天空树

springboot+security整合3

  这篇讲解如何自定义鉴权过程,实现根据数据库查询出的url和method是否匹配当前请求的url和method来决定有没有权限。security鉴权过程如下:...

622
来自专栏好好学java的技术栈

SpringMVC+RestFul详细示例实战教程(实现跨域访问)

**REST(Representational State Transfer)**,中文翻译叫“表述性状态转移”。是 Roy Thomas Fielding 在...

1454
来自专栏后端之路

SpringBoot之内容协商器

背景 使用了restful的小伙伴对于导出这些需求本能就是拒绝的~破坏了restful的url的一致性【严格矫正 不是http json就是restful 很多...

3817
来自专栏lgp20151222

生成验证码并校验

291
来自专栏非著名程序员

Retrofit OKHttp 教你怎么持久化管理Cookie

? 投稿作者:黄海杰 原文链接: http://blog.csdn.net/lyhhj/article/details/51345386 绪论 最近小编有点...

33310
来自专栏拂晓风起

enctype="multipart/form-data"的表单无法获取表单中除了type=file以外的其他参数 commons-fileupload 获取除file外其他参数

1205
来自专栏Urahara Blog

Apache Struts2 Remote Code Execution (S2-045)

2213
来自专栏java、Spring、技术分享

Spring Import 三种用法与源码解读

  最近在看Spring Cloud相关的源码,每次引入一个新的starter,发现都会加一些enable的注解,比如:@EnableDiscoveryClie...

783
来自专栏小尘哥的专栏

springboot+druid+mybatis plus的多数据源配置

参考上面的方法,可以随意配置三四五六七八九十个数据源都没问题,有问题欢迎随时来撩!

1284
来自专栏余林丰

Spring AOP中级——应用场景

  在《Spring AOP初级——入门及简单应用》中对AOP作了简要的介绍,以及一些专业术语的解释,同时写了一个简单的Spring AOPdemo。本文将继续...

17910

扫码关注云+社区