spring实战-JavaConfig装配bean
来源:互联网 发布:sql null 替换 0 编辑:程序博客网 时间:2024/05/17 23:51
Spring还提供了基于Java配置(JavaConfig)来装配bean,在编程时推荐使用类型安全,且比XML更加强大的JavaConfig。
TestMain4
@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=JavaConfig.class)public class TestMain {@Autowiredprivate Config config;@Autowired private OuterConnection outerConnection;@Autowiredprivate Service service;@Testpublic void test(){System.out.println(config.getTimeOut());System.out.println(outerConnection.getProxyInfo().getIp());System.out.println(service.getConnection().getProxyInfo().getIp());}}
JavaConfig
package com.halfworlders.web;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import com.halfworlders.outer.OuterConnection;import com.halfworlders.outer.OuterProxyInfo;/** * 1,@ComponentScan 等价于<context:component-scan> * 2,@ComponentScan不带参数时, 表示扫描该JavaConfig文件所在包以及子包内的所有带注解的Bean * 3,系统开发时通常将JavaConfig集中放在一个包内,以方便管理,此时可以通过basePackages参数设置要扫描的包及其子包 * 4,还可以通过basePackageClasses参数设置类名,表示要扫描该类所在的包以及子包 * 以上只适合扫描自定义的带注解Bean,如果希望把非本项目内的,通过jar包引入的类注入sping中,而引入的类又没有spring注解怎么办? * 5,可以通过@Bean注解 */@Configuration@ComponentScan(basePackages = { "com.halfworlders.web", "com.halfworlders.dao" }, basePackageClasses = {Service.class })public class JavaConfig {/* * 通过@Bean注解将ProxyInfo注入到spring中,默认是单例模式,并且bean的id就是方法名 */@Beanpublic OuterProxyInfo outerProxy() {return new OuterProxyInfo();}/* * 可以在注入方法中执行任何Java的程序,包括构造注入,属性注入等 通过方法参数自动早spring中搜索符合注入的bean */@Beanpublic OuterConnection ourteConnection(OuterProxyInfo proxyInfo) {OuterConnection connection = new OuterConnection();connection.setProxyInfo(proxyInfo);return connection;}}
OuterProxyInfo
package com.halfworlders.outer;public class OuterProxyInfo {private String ip = "127.0.0.1";private int port;public String getIp() {return ip;}public void setIp(String ip) {this.ip = ip;}public int getPort() {return port;}public void setPort(int port) {this.port = port;}}
OuterConnection
package com.halfworlders.outer;public class OuterConnection {private OuterProxyInfo proxyInfo;public OuterConnection(){}public OuterConnection(OuterProxyInfo proxy){this.proxyInfo = proxy;}public OuterProxyInfo getProxyInfo() {return proxyInfo;}public void setProxyInfo(OuterProxyInfo proxyInfo) {this.proxyInfo = proxyInfo;}}
其他类见上节点击打开链接
阅读全文
0 0
- spring实战-JavaConfig装配bean
- Spring journey -- JavaConfig 装配 Bean
- Spring Bean之JavaConfig自动化装配bean
- 【Spring 核心】装配bean(二) JavaConfig装配
- Spring实战-装配bean
- 装配Bean:JavaConfig@Bean@Configuration
- spring笔记:第二章(通过javaconfig类装配bean)
- spring实战-自动装配bean
- spring实战-注解装配bean
- spring实战-混合装配bean
- spring实战-条件装配bean
- spring实战-注解装配bean
- Spring实战(装配Bean)
- 装配Bean:XML与JavaConfig混合装配
- 从零开始的spring 之 脱离web下的spring 上 (javaconfig装配bean)
- 装配Bean:JavaConfig@Component@ComponentScan@Configuration
- Spring实战笔记2---Bean的装配
- Spring实战读书笔记 第二章 装配Bean
- android递归压缩上传多张图片到七牛
- 浅谈大并发架构
- Python机器学习篇
- 正则表达式验证身份证格式,邮箱格式
- 发送邮件队列
- spring实战-JavaConfig装配bean
- 面试设计模式
- eclipse 添加android-support-v7-appcompat包
- 区块链技术
- 对话机器学习大神Michael Jordan:简介
- 实现虚拟机VMware上linux与windows互相复制与粘贴
- Linux
- POJ-1635:Subway tree systems(树的最小表示法)
- RabbitMQ知多少