`
退役的龙弟弟
  • 浏览: 453926 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring容器中的bean(基础,依赖注入)

 
阅读更多

一、bean基础

1、bean的基本定义

 

2、bean的作用域

3、bean实例,配置合作者bean

bean中需要使用其他bean时需要使用ref属性

<?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-3.0.xsd">

  <bean id="student" class="com.ru.domain.Student">
    <!-- collaborators and configuration for this bean go here -->
    <property name="id" value="1"/>
    <property name="name" value="如神"/>
    <property name="age" value="23"/>
  </bean>
  	<!-- 引用其他的bean实例 -->
  <bean id="clazz" class="com.ru.domain.Clazz">
  	<property name="id" value="01"/>
  	<property name="name" value="1班"/>
  	<!-- 这个引用了student对象实例,使用ref属性 -->
  	<property name="stu" ref="student"/>
  </bean>
</beans>


二、bean注入

1、通过构造函数注入值

通过构造函数注入,需要在bean中创建构造方法。

注意:spring不会区分构造参数的顺序,并且把参数类型都解释成string型。

bean

public class Student {
	private Integer id;
	private String name;
	private Integer age;
	
	
	public Student(Integer id, String name, Integer age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}
	
	public Student(String name, Integer age) {
		super();
		this.name = name;
		this.age = age;
	}
	public Student(Integer id, String name) {
		super();
		this.id = id;
		this.name = name;
	}


beans.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

  <bean id="student" class="com.ru.domain.Student">
    <!-- <property name="id" value="1"/>
    <property name="name" value="如神"/>
    <property name="age" value="23"/> -->
    <!-- index表示构造函数里的第几个参数。type是参数的类型,这样写可以避免在有多个构造函数是造成spring的赋值错误 -->
    <constructor-arg index="1" type="java.lang.String" value="伟"/>
    <constructor-arg index="0" type="java.lang.Integer" value="1"/>
    <!-- <constructor-arg value="24"/> -->
  </bean>
</beans>


2、通过属性值注入,调用bean的set方法

ref引用的是bean的id

  <bean id="clazz" class="com.ru.domain.Clazz">
  	<property name="id" value="01"/>
  	<property name="name" value="1班"/>
  	<!-- 这个引用了student对象实例,使用ref属性 -->
  	<property name="stu" ref="student"/>
  </bean>

3、自动装配
4、注入嵌套bean

嵌套的bean不可以被spring访问

分享到:
评论

相关推荐

    spring依赖注入bean

    综上所述,Spring 的依赖注入和 Bean 管理不仅限于 Web 应用,也可以方便地应用于 Java Application 中,通过 XML 或注解配置来实现组件间的解耦,提高代码质量。这个示例项目 `test` 可能包含了实现上述功能的代码...

    在非spring注解类中使用spring容器中的bean_普通类中使用yml配置文件中的配置信息

    然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的Bean,或者在这些类中使用YAML配置文件中的配置信息。本篇将详细介绍如何在这样的场景下实现这一目标。 首先,让我们来理解如何在非Spring...

    深度解析spring容器管理bean

    "深度解析spring容器管理bean"这一主题,旨在深入理解Spring如何通过反射机制、依赖注入(DI)以及XML或Java配置来实现对Bean的生命周期管理。 首先,Spring容器主要有两种类型:DefaultListableBeanFactory和...

    Spring之核心容器bean

    Spring的核心容器bean是其强大功能的关键所在,它通过依赖注入、作用域管理、生命周期控制等方式,极大地简化了对象的创建和管理。了解并熟练掌握这些概念,将有助于你在实际开发中更高效地利用Spring框架,提高代码...

    Spring (bean怎样注入值)学习实例

    在Spring中,Bean是一个被Spring容器管理的对象,它可以通过XML、注解或者Java配置来定义。XML配置是最传统的声明Bean的方式,我们通常在`spring-config.xml`文件中进行配置。 对于List类型的注入,Spring XML配置...

    Spring容器中Bean的作用域编程开发技术共3页.pd

    本篇内容将深入探讨Spring容器中Bean的作用域编程开发技术,以帮助开发者更好地理解和利用这些特性来优化应用的性能和设计。 1. **单例(Singleton)作用域**:这是Spring中最常见也是默认的作用域。每个Spring容器...

    spring中的bean

    在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者Java配置类进行定义。 1. **Bean的定义**:在...

    spring依赖注入

    而在Java配置中,可以使用`@Component`、`@Service`、`@Repository`和`@Controller`注解标记bean,使用`@Autowired`注解来进行依赖注入。 在提供的案例"springdi01"中,可能包含了Spring DI的示例代码。通常,这个...

    面试官常问的spring依赖注入和bean的装配问题.pdf

    在Spring的面试中,面试官常会问到关于依赖注入和Bean装配的问题。理解这些概念对于开发高质量的Spring应用程序至关重要。 首先,我们来讨论一下Spring中常见的依赖注入方式。 1. setter注入(Setter-based ...

    spring依赖注入的实现原理

    当Spring容器读取到XML配置或注解信息后,会通过反射调用无参构造函数创建Bean实例。 5. **依赖查找(Dependency Lookup)** 对于按需加载的依赖,Spring会在容器中查找匹配的Bean并注入。 6. **依赖注入...

    Spring Ioc 注解 依赖注入

    - **依赖注入**:依赖注入是一种设计模式,通过依赖注入,一个类的对象不再负责创建其依赖的对象,而是由外部容器(Spring容器)来负责创建这些依赖并注入到需要它们的地方。 #### 三、Spring IoC容器的工作原理 ...

    Spring定义bean的三种方式和自动注入

    在配置类上使用`@Configuration`注解,然后使用`@Bean`注解来定义方法,该方法返回的对象会被Spring容器注册为一个Bean。 ```java @Configuration public class AppConfig { @Bean public Teacher teacher() {...

    模仿Spring依赖注入

    通过在类的构造函数中添加参数,Spring容器会根据参数类型匹配并注入相应的bean。例如: ```java public class UserService { private UserDao userDao; public UserService(UserDao userDao) { this.userDao =...

    spring依赖注入底层详解

    此外,Spring还提供了Bean工厂(BeanFactory)和ApplicationContext作为依赖注入的容器。BeanFactory是Spring中最基本的容器,它可以管理Bean的生命周期和依赖关系;而ApplicationContext不仅包含BeanFactory的所有...

    关于spring boot中几种注入方法的一些个人看法

    @Bean 是一个注解,用来将一个普通的对象转换为一个 Spring bean,以便可以在spring 容器中管理。@Bean 可以使用在方法上,以便将该方法的返回值转换为一个 Spring bean。 在 Spring Boot 中,以上几种注入方法都是...

    浅谈spring容器中bean的初始化

    3. **属性注入**:根据Bean定义中的依赖注入信息,将其他Bean的引用或值注入到当前Bean的属性中。 4. **初始化回调**:如果Bean定义中指定了初始化方法(通过`init-method`属性),Spring会在所有注入完成后调用这个...

    Spring中依赖注入与容器

    在Spring框架中,依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IoC)是核心概念,它们旨在简化组件之间的耦合,提高代码的可测试性和可维护性。IoC指的是应用程序的控制权由原本...

    Quartz(二)整合Spring容器中bean及动态调度任务

    总之,整合Quartz和Spring,我们可以方便地在Spring容器中管理任务,利用Spring的组件和依赖注入来实现复杂的任务逻辑,同时还能通过Spring的API动态调整任务调度,极大地提高了代码的可维护性和灵活性。

Global site tag (gtag.js) - Google Analytics