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

1.0-springboot的java配置方式的更多相关文章

  1. SpringBoot学习(三)-->Spring的Java配置方式之读取外部的资源配置文件并配置数据库连接池

    三.读取外部的资源配置文件并配置数据库连接池 1.读取外部的资源配置文件 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: @Configuration ...

  2. SpringBoot学习(二)-->Spring的Java配置方式

    二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @ ...

  3. SpringBoot学习(二)——Spring的Java配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 一.@Configuration 和 @Bean Spring的Java配置方式是通过@Configuration和@Bean ...

  4. Spring 的java 配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @ ...

  5. Spring的Java配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1     @Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration ...

  6. CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...

  7. Spring的Java配置方式—@Configuration和@Bean实现Java配置

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @BeanSpring的Java配置方式是通过 @Configuration 和 @Be ...

  8. Java配置方式读取外部的资源配置文件

    通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: package cn.qlq; import org.springframework.context. ...

  9. SpringBoot之Java配置

    Java配置也是Spring4.0推荐的配置方式,完全可以取代XML的配置方式,也是SpringBoot推荐的方式. Java配置是通过@Configuation和@Bean来实现的: 1.@Conf ...

随机推荐

  1. win10 uwp 打电话

    UWP可以使用打电话功能,在PC是用Skype,在手机是直接使用电话功能. UWP可以通过Skype打电话,那么如何通过应用间通讯,很简单使用Launcher. Skype电话使用Skype:(电话号 ...

  2. OpenWRT(RT5350) 路由客户模式(Routed Client) ,设置防火墙开放UDP指定端口

    /* *功     能: 本文主要功能是设置OpenWRT(RT5350) 系统实现路由客户模式,无线连接上级路由, * 无线释放AP客户端,实现伪装的中继(子网段与上级路由网段不同),同时更改防火墙 ...

  3. zabbix自动截图留档_python版

    1 背景     每个DB Server都有zabbix监控,除了异常情况的报警信息外,也会在日检.周检.月检等工作中用到zabbix的监控数据,对zabbix监控数据会做两种处理:1 数据分析(环比 ...

  4. [Web开发(1)] MyEclipse/Eclipse 使用Tomcat部署Web/Maven项目经典错误

    1.Tomcat启动报错:server tomcat start within 45 seconds 问题原因:由于eclipse默认Tomcat设置是启动时间为45s,所以在45s内没有启动成功就会 ...

  5. call()与apply() 改变this指向

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 } span.Apple-tab-span ...

  6. Problem C

    Problem Description Here is a famous story in Chinese history. "That was about 2300 years ago. ...

  7. Codeforces Round #383 (Div. 2)C. Arpa's loud Owf and Mehrdad's evil plan

    C. Arpa's loud Owf and Mehrdad's evil plan time limit per test 1 second memory limit per test 256 me ...

  8. [Bayesian] “我是bayesian我怕谁”系列 - Boltzmann Distribution

    使用Boltzmann distribution还是Gibbs distribution作为题目纠结了一阵子,选择前者可能只是因为听起来“高大上”一些.本章将会聊一些关于信息.能量这方面的东西,体会“ ...

  9. html2cavans

    简介:http://www.jianshu.com/p/6a07e974a7e8 下载:https://github.com/niklasvh/html2canvas/releases C#代理git ...

  10. <template> 标签

    <template> 元素,用于描述一个标准的以 DOM 为基础的方案来实现客户端模板.该模板允许你定义一段可以被转为 HTML 的标记,在页面加载时不生效,但可以在后续进行动态实例化.( ...