SIA实战(二):不用XML,使用java类配置Bean
2017-02-13 20:58
399 查看
如果你已经厌烦使用XML配置Spring Bean,那么你可以尝试使用普通的java类来配置bean,这样避免了XML中字符串导致的错误,让异常从运行期提前到了编译器
以下是基于java配置bean的详细过程,文章的最后附上源码
1.首先配置组件扫描器,这也是唯一需要配置xml的地方
2.使用@Configuration注解编写配置类
第一步的组件扫描配置可以扫描到@Configuration注解,表示这是一个用于配置Spring的类
从代码中可以看到方法上都加了@Bean,表示这个方法返回的是一个Bean,由Spring容器管理,而方法名就是Bean的id
同时为Bean装配属性也变得十分简单,可以用构造器注入,也可以用setter注入,更加符合java的编写习惯
3.编写测试代码
目前已经向Spring容器注册了Bean,那么怎么取出来呢?
可以看到这里使用了AnnotationConfigApplicationContext,传入的参数是java配置类的字节码对象
输出结果如下:
工程源码:http://download.csdn.net/detail/yj7758423/9753621
以下是基于java配置bean的详细过程,文章的最后附上源码
1.首先配置组件扫描器,这也是唯一需要配置xml的地方
<context:component-scan base-package="com.yonyou.config"/>
2.使用@Configuration注解编写配置类
@Configuration public class JavaConfig { @Bean public User user(){ User user = new User("jay","1234"); user.setAddress(this.addr()); return user; } @Bean public Address addr(){ Address addr = new Address(); addr.setProvice("BJ"); addr.setCity("beijing"); return addr; } }
第一步的组件扫描配置可以扫描到@Configuration注解,表示这是一个用于配置Spring的类
从代码中可以看到方法上都加了@Bean,表示这个方法返回的是一个Bean,由Spring容器管理,而方法名就是Bean的id
同时为Bean装配属性也变得十分简单,可以用构造器注入,也可以用setter注入,更加符合java的编写习惯
3.编写测试代码
目前已经向Spring容器注册了Bean,那么怎么取出来呢?
ApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class); Address address = (Address) context.getBean("addr"); System.out.println(address); User user = (User) context.getBean("user"); System.out.println(user);
可以看到这里使用了AnnotationConfigApplicationContext,传入的参数是java配置类的字节码对象
输出结果如下:
Address [provice=BJ, city=beijing] User [username=jay, password=1234, address=Address [provice=BJ, city=beijing]]
工程源码:http://download.csdn.net/detail/yj7758423/9753621
相关文章推荐
- 微服务框架Spring Cloud介绍 Part2: Spring Cloud与微服务
- springmvc实现url路由功能
- spring aop 无法代理父类方法 的解决方法
- Spring MVC过滤器-超类 GenericFilterBean
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- 使用MVC微信支付返回get_brand_wcpay_request:fail
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- Spring组件自动扫描详解及实例代码
- java 中Spring task定时任务的深入理解
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
- spring+html5实现安全传输随机数字密码键盘