Spring配置Bean的几种方式
Spring容器提供了三种装配bean的方式,所谓装配就是指将bean配置在spring容器中,并能够在类与类之间提供依赖关系。
一、隐式Bean发现机制和自动装配
Spring从两个角度来实现自动化装配:组件扫描(Spring自动发现应用中上下文所需要的创建的Bean),自动装配(Spring自动满足Bean之间的依赖)
使用Component注解将普通类配置成Bean
@Component用来泛指组件,用于不好区分或者明确归类的Java类,相比之下,使用@Controller,@Service,@Respository等注解声明为bean可以明确的表示组件的归类
@Component public class Waiter {public void service(String name){System.out.println("service to " + name);} }
使用@Autowired(自动注入)使Spring满足Bean的依赖
@Autowired是由Spring提供的注解,同样的,你还可以通过使用Java本身提供的注解@Resource实现依赖注入
@Component public class User {@Autowiredprivate Article article;public void action() {article.action();} }
使用@Component注解扫描组件
默认是扫描当前包以及子包。如果想设置其它包或者多个包,可以通过设置该注解的basePackages。
@Configuration @ComponentScan("包名路径") public class ApplicationConfig {}
二、基于Java的Bean装配
我们可以使用@Configuration注解将类声明为一个配置类,再使用@Bean注解将方法返回的实例对象添加到容器的上下文中
@Bean注解的bean的ID默认是方法名,如果要指定名称,可以通过name属性来设置
@Configuration
@ComponentScan("com.jimisun")
public class WebConfig {@Beanpublic User user() {return new User(myArticle());}@Beanpublic MyArticle myArticle() {return new MyArticle();}}
三、基于XML的Bean装配
不使用注解时,可以在spring的xml文件中配置bean
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"><bean class="com.jimisun.spring.example.User" id="user"><constructor-arg ref="myArticle"/></bean><bean class="com.jimisun.spring.example.MyArticle" id="myArticle"></bean></beans>
- 上述配置方案都不是互斥的,你甚至可以将JavaConfig、自动装配、xml配置混合在一起。
Spring配置Bean的几种方式相关推荐
- Spring创建Bean的3种方式
1. Spring创建Bean的三种方式 1. 调用构造器(因为常用就不讲) 2. 调用静态工厂方法 3. 调用实例工厂方法 2. 使用静态工厂方法 1.此时<bean.../>元素要指定 ...
- spring配置属性的两种方式
spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...
- Spring框架学习教程,详解Spring注入bean的几种方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Sprin ...
- Spring创建Bean的三种方式的使用和区别
在学习Spring的时候,发现Spring的IOC(控制反转)为我们提供的三种创建Bean的方式. 1.Spring创建Bean的三种方式 这里采用XML配置,分别演示三种创建Bean的方式和代码. ...
- spring 注入bean的两种方式
我们都知道,使用spring框架时,不用再使用new来实例化对象了,直接可以通过spring容器来注入即可. 而注入bean有两种方式: 一种是通过XML来配置的,分别有属性注入.构造函数注入和工厂方 ...
- Spring配置事务的五种方式
Java事务的类型有三种: JDBC事务. 可以将多个 SQL 语句结合到一个事务中.JDBC 事务的一个缺点是事务的范围局限于一个数据库连接.一个 JDBC 事务不能跨越多个数据库 JTA(Java ...
- Spring 创建Bean的三种方式
创建Bean的三种方式 第一种方式:使用默认构造函数创建. 在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时.采用的就是默认构造函数创建bean对象,此 ...
- 记下来 Spring 装配 Bean 的三种方式
ps:拿笔记一下,面试可能会考.依赖注入DI和面向切面编程AOP是Spring框架最核心的部分.这次主要是总结依赖注入的bean的装配方式. 前言 什么是依赖注入呢?也可以称为控制反转,简单的来说,一 ...
- Spring : Spring定义Bean的两种方式:lt; bean gt;和@Bean
1.美图 2.概述 Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用. 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean. ...
最新文章
- Spring Boot 2 快速教程:WebFlux 快速入门(二)
- Windows Phone7天初学(4):数据绑定
- 浅谈Redis和Hbase
- 修改系统density适配
- python中if not是什么意思,python if not不同应用有什么区别,pythonifnot区别,python 中 "if...
- python学习笔记(三)—— 序列类型及方法(列表、元组、字符串)
- springboot学习笔记(六)
- 轻量级java web实践-6(框架源码-4)
- 解决kali linux找不到更新的问题
- CDH中hue使用oozie调度的文件注意事项
- oracle全角括号忽略,Oracle中SQL查询语句日文不区分全角/半角
- 最大流问题之FF算法与EK算法
- html 显示闹钟,闹钟设置.html
- JavaScript 排序,不只是冒泡
- 人体疲劳程度检测,生理信号处理
- 企业微信员工能私加客户吗?员工私自联系客户企业是否知道?
- 一文了解CDN应用加速
- 阿里P6晋升到P7是一个坎吗? P7 晋升总结
- 摄像头8mm可以看多远_折叠屏、透明屏、卷曲屏、拼接屏、屏下摄像头...未来屏显的先机都在这里...
- asp毕业设计——基于asp+access的在线人才招聘网设计与实现(毕业论文+程序源码)——人才招聘网