1.Spring 有3中注入的方式.
1.1、构造器注入;
1.2、setter注入(最好);
1.3、注解方式注入
注入:就是给类的属性赋值
2.setter注入:先配置xml文件,spring框架启动后读取xml文件,通过bean的setter()方法完成属性赋值
例子 ;
java bean:
public User(String name,Integer age) { String name; String age; .............. }
xml配置文件:
<bean name="user" class="com.mr.user.User"> <property name="name" value="小强" /> <property name="age" value="20" /> </bean>
class表示要实例化的类名,<property>标签中name是属性名 value是属性的值
3.构造器注入:
java bean:
public User(String name,Integer age) { String name; String age; .............. }
xml配置文件:
<bean name="user" class="com.mr.user.User"> <constructor-arg value="小强"/> <constructor-arg value="20" /> </bean>
<constructor-arg>标签为构造器传递参数,默认是按照顺序来传递参数
</constructor-arg>有2个属性type 和index>
type:对构造器的参数类型进行匹配,然后赋值
index,指定为构造器的哪一个属性赋值
4. spring 中id 和name的区别
<bean name="k" id="Hello"> ....... <bean>
相同点:都可以获得bean对象
不同点:id唯一,name可重复(比如不同的bean可能会有同样的name)
建议:尽量使用id
5.setter注入代码演示
5.1 代码结构
5.2 Main.java
package test1;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
static BeanFactory beanFactory=null;
static{
beanFactory=new ClassPathXmlApplicationContext("test1/test.xml");
}
public static void main(String [] args){
Person a=beanFactory.getBean("Person",Person.class);
a.personInfo();
}
}
5.3Person.java
package test1;
public class Person {
String name;
Integer age;
public Person() {
super();
}
public Person(String name,Integer age)
{
this.name=name;
this.age=age;
}
public void personInfo()
{
System.out.println("我的名字是"+name);
System.out.println("我的年龄是"+age.toString());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
5.4 test.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="Person" class="test1.Person">
<property name="name" value="张三"/>
<property name="age" value="20"/>
</bean>
</beans>
相关推荐
Spring Boot 中的几种注入方法 在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的...
我们学习了spring框架spring框架里面有3个优势第一个是轻量级的IOC也叫控制反转后来改名为DI也叫依赖注入,依赖注入里面有3中注入方法分别是set注入,构造器注入,注解注入,我传的是set注入的视频
Spring会查找带有`@Autowired`注解的setter方法,并自动调用这些方法进行注入。这种方式更为灵活,可以在对象创建后随时注入依赖,但可能会导致对象在不完整的情况下被使用。示例如下: ```java public class ...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象间的依赖关系得以解耦,提高了代码的可测试性和可维护性。Spring提供了多种注入方式,包括set注入、构造注入和自动注入...
- 示例:`example4forSetter`可能是一个展示setter注入的例子,包含了注入依赖的setter方法,Spring容器会在初始化后调用这些方法注入依赖。 选择构造器注入还是setter注入取决于具体需求。构造器注入适用于核心...
【Spring中的方法注入】 在Spring框架中,方法注入是一种非传统的依赖注入形式,它允许我们通过调用对象的方法来设置其内部状态或执行特定操作。这种方法通常用于在对象初始化之后或者在某些特定时刻注入依赖,而...
下面我们将详细探讨Spring 中的三种注入方式:接口依赖注入(Type1)、setter/getter 注入(Type2,也称为属性注入)和构造方法注入(Type3)。 1. **接口依赖注入(Type1)** 这种注入方式相对不常见,主要适用于...
spring注入配置文件,使用注解注入的
这种方式需要Bean有对应的setter方法,以便Spring进行依赖注入。 ```xml 张三"/> 李四"/> ``` 2. **基于注解的Bean定义**: 自Spring 2.5引入注解支持后,我们可以使用注解来简化配置。在`Student`...
我们在开发过程中经常会发生spring注入错误或失败的情况,其实Web服务器端在Action、dao、service包之内是很容易实现的,在这些包之外实现spring注入就不容易了,总是出错,其实根本原因是无法获得相应的spring上...
Spring框架的依赖注入(Dependency Injection,简称DI)是其核心特性之一,它使得对象之间的关系在运行时由Spring容器管理,而不是硬编码在类内部。这样可以提高代码的可测试性和可维护性,因为对象的依赖关系变得松...
在本篇文章中,我们将深入探讨Spring注入原理,特别是注解方式的实现,帮助你更好地理解和掌握这一技术。 ### 1. 依赖注入(Dependency Injection) 依赖注入是Spring的核心特性,它允许我们解耦组件间的依赖关系...
本文将深入探讨Spring中的一个特殊概念——方法注入,它是IOC的一种扩展形式。 方法注入允许我们在运行时通过容器调用特定的方法来传递依赖。这种方法与传统的构造器注入和属性注入相比,提供了更大的灵活性,因为...
对于非POJO对象或者有特殊初始化需求的对象,Spring提供工厂方法来创建并注入依赖。 6. **@Qualifier注解**: 当有多个相同类型的bean,而我们需要指定具体哪一个时,`@Qualifier`注解可以用来明确指定。 7. **@...
2. AOP:Spring的AOP框架用于在运行时动态地修改程序的行为,比如在依赖注入时,AOP代理可以在目标对象的方法调用前后插入相应的行为,如检查依赖是否已注入,或者在注入过程中执行一些额外的操作。 此外,Spring还...
Spring容器调用带有@Autowired注解的setter方法,将相应的依赖注入到对象中。 3. **接口注入**:Spring不直接支持,但在某些特殊情况下,可以通过实现特定接口并在接口中定义注入点来实现。 **三、@Autowired注解*...
综上所述,Spring注入文件的写法涉及了数据源、Hibernate集成、事务管理和DAO的声明及配置。通过这种方式,Spring能够提供一个灵活且强大的基础设施,支持数据库操作和事务管理,同时保持代码的整洁和模块化。
在本章中,我们将深入探讨Spring框架的核心特性之一——自动装配和方法注入。Spring作为一款广泛应用的Java企业级开发框架,极大地简化了依赖管理,提高了代码的可测试性和可维护性。自动装配和方法注入是Spring实现...
使用spring的依赖注入,来实现servlet中注入dao层
NULL 博文链接:https://zhangyulong.iteye.com/blog/856986