Spring之路-聊聊Bean装配
来源:互联网 发布:dac 单片机 编辑:程序博客网 时间:2024/06/08 10:18
Spring配置主要有三种装配机制:
1.在XML中进行显式配置;
2.在JAVA中进行显式配置;
3.隐式的bean发现机制和自动装配。
一、在XML中进行显式配置
1.创建XML配置规范
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
这样,就创建了一个合法简单的Spring XML配置
2.声明一个简单的bean
<bean id="xiaoming" class="program.CoderA"> <constructor-arg value="xiaoming" /> </bean>
id代表bean的标识,class代表生成bean的类
3.借助构造器注入初始bean
这里有两种方式进行配置:
* constructor-arg>元素
* 使用spring3.0所引入的c-命名空间
<bean id="xiaohong" class="program.ProductManageA"> <constructor-arg ref="xiaoming" /> </bean>
spring遇到这个bean时,会创建一个ProductManageA的实例,并通过constructor-arg告知spring引用id为xiaomingbean。
通过c命名空间,首先应在xml声明其模式
xmlns:c="http://www.springframework.org/schema/c"
然后,在bean中直接声明:
<bean id="xiaohong" class="program.ProductManageA" c:_0-ref="xiaoming"/>
这里,直接用0代表第一个构造器参数,_是因为数字不可以作为属性第一个字符。也可以使用构造器名。
若需装配集合时,我们只需要使用标签或标签即可,
如: <constructor-arg>
<list>
<value>..</value>
<value>..</value>
</list>
</constructor-arg>
<!-- <set>标签同理-->
4.设值注入
使用set方法注入是,使用标签即可,与使用同理,也有简化的标签p:,与c:类同。
二、在JAVA中进行显式配置
创建一个配置类,并设置bean返回规则
@Configurationpublic class ProgramConfig { @Bean public Coder coder(){ return new CoderA(); } @Bean public ProductManageA productManageA(Coder coder){ return new ProductManageA(coder); }}
三、隐式的bean发现机制和自动装配
创建一个config JAVA类
@Configuration//代表配置类@ComponentScan//设置组件扫描public class ProgramConfig {}
@Component//创建可被发现的beanpublic class ProductManageA implements ProductManage { private Coder coder; @Autowired//自动装配程序员 public ProductManageA(Coder coder){ this.coder=coder; } @Override public void work() { System.out.println("万恶的PM跟码农谈需求"); coder.coding(); }}
//测试类/* @RunWith(SpringJUnit4ClassRunner.class)以便在测试开始的时候自动创建Spring的应用上下文。注解 @ContextConfiguration会告诉它需要在ProgramConfig中加载配置。*/@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=ProgramConfig.class)public class TestProgram { @Autowired private ProductManageA pmA; @Test public final void testJavaConfig(){ pmA.work(); }}
阅读全文
0 0
- Spring之路-聊聊Bean装配
- Spring之装配Bean
- Spring学习之路-装配Bean
- Spring Bean装配之自动装配
- Spring之Bean装配原理
- Spring Bean装配之Resource
- Spring入门之bean装配
- Spring之装配bean(二)
- Spring之装配Bean(一)
- Spring Bean之JavaConfig自动化装配bean
- Spring学习之Bean装配、生命周期。。
- Spring学习笔记之Bean装配
- Spring学习笔记之Bean的装配
- spring 解读之 基本bean装配
- Spring之Bean的创建和装配
- Spring技术内幕之Bean自动装配
- Spring学习笔记之自动化装配Bean
- Spring入门 Bean装配之Aware接口
- UserWarning: Update your `Conv2D`
- 配置视图解析器简化视图名称
- 内存泄露和内存溢出
- Java实现简单的医院管理系统源码
- CSS3的线性渐变 和 径向渐变。
- Spring之路-聊聊Bean装配
- Disqus评论框改造工程-Jekyll等静态博客实现Disqus代理访问
- Unity显示时间、电量和网络
- Sublime Text 3的众多帮手!!!!
- css3 tranform属性
- Django 基础博客的建立
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- 设计模式-工厂方法模式
- Oracle 自定义函数