通过@Configuratin配置Bean
Spring的依赖注入可以基于xml配置,也可以基于注解配置,还可以基于java类配置。
普通的bean类,只要标注了@Configuration注解,就可以为Spring容器提供Bean定义的信息。
每一个标注了@Bean的类方法,相当于提供了Bean的定义信息,可以实现依赖注入。
示例代码:
@Configuration
public class AppConf{
@Bean
public UserDao userDao(){
return new UserDao();
} @Bean
public LogDao logDao(){
return new LogDdao();
} @Bean
public LogonService logonService(){
LogonService logonService=new LogonService();
logonService.setLogDao(logDao());
logonService.setUserDao(userDao());
return logonService;
} }
以上代码和以下xml配置是等效的:
<bean id="userDao" class="com.anno.UserDao"/>
<bean id="logDao" class="com.anno.LogDao"/>
<bean id="logonService" class="com.LogonService"
p:logDao-ref="userDao" p:userDao-ref="logDdao"/>
注:
p表示对该bean里面的属性进行注入,格式为p:属性名=注入的对象
效果与在bean里面使用<property>标签一样
参考自《精通Spring企业应用开发实战》
通过@Configuratin配置Bean的更多相关文章
- Spring下如何配置bean
本次讲述项目背景: 创建Service类,Service下用到dao类.通过在Spring中配置bean,实现在项目启动时,自动加载这个类 本次只讲述配置bean的注意事项,故只给出简单实例: 创建S ...
- Spring学习记录(十)---使用FactoryBean配置Bean
之前学了,配置bean可以用普通全类名配置.用工厂方法配置,FactoryBean又是什么呢 有时候配置bean要用到,IOC其他Bean,这时,用FactoryBean配置最合适. FactoryB ...
- Spring学习记录(九)---通过工厂方法配置bean
1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. package com.guigu.spring.factory; public class C ...
- Spring--通过注解来配置bean【转】
Spring通过注解配置bean 基于注解配置bean 基于注解来配置bean的属性在classpath中扫描组件 组件扫描(component scanning):Spring能够从classpat ...
- spring 配置bean
Main(测试方法) public class Main { public static void main(String[] args) { //1.创建Spring 的IOC容器对象: //spr ...
- [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 通过工厂方式配置bean
src\dayday\CarFactoryBean.java package dayday;import org.springframework.beans.factory.FactoryBean;/ ...
- Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean
1,bean 的配置 <bean id="helloWorld" class="com.yfy.HelloWorld"> <property ...
- Spring-Context之三:使用XML和Groovy DSL配置Bean
在第一讲中显示了如何使用注解配置bean,其实这是Spring3引进的特性,Spring2使用的是XML的方式来配置Bean,那时候漫天的XML文件使得Spring有着配置地狱的称号.Spring也一 ...
随机推荐
- Hadoop生态系统介绍
Hadoop生态系统Hadoop1.x 的各项目介绍1. HDFS2. MapReduce3. Hive4. Pig5. Mahout6. ZooKeeper7. HBase8. Sqoop9. Fl ...
- iOS笔记之ScrollView
ScrollView三个基本的要理解的属性: contentSize The size of the content view.所以很好理解,contentSize也就是scrollView可滚动的区 ...
- JS使用及技巧.
JS小技巧 1.如果你JS了解的还不深请看 汤姆大叔的博客 ,肯定让你上升一个台阶. 2.百科全书 MDN. 3.两个非常简单实用的提示插件 toastr sweetalert. 4.数据类型的复制: ...
- 趣谈StateServer在Web Garden,Web Farm下的使用
上一篇翻译的博客[译文]漫谈ASP.NET中的Session已经介绍了Session的基础知识,如果看过了的话对Session应该有了一个比较清晰的认识了,现在我来谈谈我所遇到的困境以及对Sessio ...
- python多任务的导包问题
多线程的使用: import threading def func(x): print(x) t= threading.Thread(target=func,args=(12,)) # 线程启动 t. ...
- 实现C++标准库string类的简单版本
代码如下: #ifndef STRING_H #define STRING_H #include <cassert> #include <utility> #include & ...
- Windows7 SP1 64bit配置IIS7.5和ASP.NET4
一.安装前的环境 1. Windows7 SP1 64bit: 2. 在安装IIS7.5之前,安装了Visual Studio 2010或.NET Framework4: 二.安装IIS7.5 1. ...
- elasticsearch的插件安装
目前使用的是2.4.5版本的es 安装的时候注意以下几点 : 1.如果想所有的ip都能访问es,需要修改config下的elasticsearch.yml.修改如下 network.host=0.0. ...
- vue路由初始化路转
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Array.new(5, [1, 2, 3]) or Array.new(5) { [1, 2, 3] }的差别
Array.new(5, [1, 2, 3]) or Array.new(5) { [1, 2, 3] } Array.new(size, default_object) creates an arr ...