`
忘忧鸟
  • 浏览: 144590 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Bean注入方式2:使用构造器装配属性

阅读更多

步骤:

(1)改写 PersionServiceBean.java ,为注入的属性加上构造方法
Java代码

package cn.com.xinli.service.impl; 

import org.apache.log4j.Logger; 

import cn.com.xinli.dao.PersionDao; 
import cn.com.xinli.service.PersionSevice; 

public class PersionServiceBean implements PersionSevice 
{ 
 Logger log=Logger.getLogger(PersionServiceBean.class); 
 <span style="color: #ff0000;">private PersionDao persionDao; 
 private String name; 

 public PersionServiceBean(PersionDao persionDao, String name) { 

 this.persionDao = persionDao; 
 this.name = name; 
 }</span> 
 public String getName() 
 { 
 return name; 
 } 
 public void setName(String name) 
 { 
 this.name = name; 
 } 
 public PersionDao getPersionDao() 
 { 
 return persionDao; 
 } 
 public void setPersionDao(PersionDao persionDao) 
 { 
 this.persionDao = persionDao; 
 } 
 public void init() 
 { 
 log.info("初始化资源"); 
 } 
 public PersionServiceBean() 
 { 
 log.info("我被实例化了"); 
 } 

 public void save() 
 { 
 log.info("name:"+name); 

 this.persionDao.add(); 
 } 
 public void destory() 
 { 
 log.info("释放资源"); 
 } 

} 
 
(2) 配置beans.xml,其中配置了一个依赖属性和一个基本的String类型


Xml代码
<bean id="persionServiceBean" class="cn.com.xinli.service.impl.PersionServiceBean" init-method="init" destroy-method="destory"> 

 <constructor-arg index="0" type="cn.com.xinli.dao.PersionDao" ref="persionDao"></constructor-arg> 
 <constructor-arg index="1" value="huxl"></constructor-arg> 
  </bean> 
 

(3) 测试:

Java代码
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); 
 PersionSevice ps=(PersionSevice)ctx.getBean("persionServiceBean"); 
 ps.save(); 
 
结果:

INFO (PersionServiceBean.java:37) - 初始化资源
INFO (PersionServiceBean.java:46) - name:huxl
INFO (PersionDaoBean.java:15) - 执行了PersionDaoBean中的add()方法
分享到:
评论

相关推荐

    基于java的企业级应用开发:Bean的装配方式.ppt

    为了使Spring能够进行XML装配,Bean类需要满足一些条件,如提供无参构造器,为需要注入的属性提供setter方法等。 **基于注解的装配** 随着Java注解的普及,Spring引入了基于注解的装配,减少了XML配置的繁琐。主要...

    通过bean的构造器赋值.zip

    在Java配置类中,可以使用`@Autowired`注解配合`@Bean`方法的参数来实现构造器注入。例如: ```java @Configuration public class AppConfig { @Bean public ExampleBean exampleBean(String dependencyValue1, ...

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

    显式装配是指在Spring配置文件中明确指定如何注入依赖,包括setter注入和构造器注入,这种方式虽然配置繁琐,但清晰明了,易于管理和维护。在Spring Boot中,尽管自动化配置十分便捷,但仍然可以通过@Primary、@...

    SpingIOC注入实例化bean

    - **构造器注入**:在构造函数中注入依赖的bean。 4. **Bean的作用域** Spring支持五种bean的作用域: - **单例(Singleton)**:容器中只有一个实例,所有请求都返回同一个bean。 - **原型(Prototype)**:每次...

    第四章 在Ioc容器中装配Bean

    - 构造器注入:通过Bean的构造函数来注入依赖,Spring容器调用具有必要依赖参数的构造函数来创建Bean实例。 - setter方法注入:通过Bean的setter方法注入依赖,Spring容器在创建Bean实例后调用setter方法来设置依赖...

    Spring应用注解完成属性装配

    当在字段、构造器参数或方法上使用`@Autowired`时,Spring会尝试找到类型匹配的Bean并注入。例如: ```java @Service public class UserService { @Autowired private UserRepository userRepository; } ``` 在...

    pring自动装配方式介绍共2页.pdf.zip

    7. **@Primary**:当有多个候选Bean满足自动装配条件时,可以使用`@Primary`注解标记首选的Bean,Spring将优先选择这个Bean注入。 8. **@Qualifier**:在有多个相同类型Bean的情况下,`@Qualifier`注解可以用来指定...

    Spring Boot技术知识点:Bean装配1

    6. **配置类与属性源**:Spring Boot允许从application.properties或application.yml文件中读取配置属性,并通过@ConfigurationProperties注解将这些属性映射到Java对象上,方便在Bean装配时使用。 7. **条件注解...

    Spring的Bean配置

    2. **构造器注入**:使用`&lt;constructor-arg&gt;`标签指定构造函数参数,或者在注解配置中使用`@Autowired`配合构造函数。 3. **setter注入**:通过setter方法注入依赖,同样可以通过XML或注解实现。 4. **接口注入**...

    Spring--2.Spring 中的 Bean 配置-2-1

    3. **构造器注入**: - 对于需要通过构造函数创建的对象,可以使用`&lt;constructor-arg&gt;`标签。例如: ```xml &lt;bean id="exampleBean" class="com.example.ExampleClass"&gt; &lt;constructor-arg value="exampleValue...

    Spring中你不知道的注入方式编程开发技术共6页.pdf

    1. **构造器注入**: Spring支持通过构造函数来注入依赖。当一个类有多个构造函数时,可以使用`@Autowired`注解与`@Qualifier`结合,指定注入哪个构造函数。这种方式确保对象在创建时就完成了依赖的设置。 2. **...

    spring依赖注入的实现原理

    2. **构造器注入**:Spring可以通过调用带有多个参数的构造函数来注入依赖。在bean配置文件中,使用`&lt;constructor-arg&gt;`标签指定构造函数参数。 3. **接口注入**:Spring提供了一个`ApplicationContextAware`接口,...

    Spring高级应用之注入嵌套Bean编程开发技术共1页

    Spring提供了多种注入方式,包括构造器注入、setter注入和接口注入等。通过这种方式,我们可以实现依赖反转,使代码更具灵活性和可测试性。 在嵌套Bean的场景下,一个Bean可以包含另一个或多个Bean作为其属性。例如...

    Ioc注入讲解

    - **构造器注入**:通过构造器传递依赖项。 - **Setter注入**:通过Setter方法设置依赖项。 - **字段注入**:直接将依赖项注入到对象的字段中。 通过注入机制,程序员无需手动调用对象的setter方法来设置依赖,而是...

    4 后台使用Spring中的Bean质量评估193210111党涛1

    当不使用构造注入时,Spring会自动寻找无参构造器来创建Bean实例。因此,为了使Spring能够正确实例化Bean,你需要确保Bean类有一个公共的无参构造器。默认情况下,Spring会对Bean的属性进行默认初始化,即基本类型设...

    第四章 Spring Bean基础1

    - **实例化**:Spring 根据 BeanDefinition 创建 Bean 实例,可能涉及构造器注入和属性设置。 - **初始化**:包括调用初始化方法,执行 Bean 生命周期中的其他初始化逻辑。 7. **延迟初始化与销毁**: - **延迟...

    Spring注解注入属性

    这意味着在使用`@Resource`时,你可以选择通过`name`属性显式指定bean的名称,也可以省略此属性,让Spring自动按类型装配。相比于`@Autowired`,`@Resource`提供了更灵活的依赖查找策略。 #### 三、`@Qualifier`的...

    Spring中的自动装配有哪些限制?.docx

    在Spring框架中,自动装配(Auto-Wiring)是一种便捷的方式来管理bean之间的依赖关系,它能够自动将所需的bean注入到目标bean中,而无需显式配置。然而,自动装配并非适用于所有场景,它存在一些限制。以下是一些...

    粗略实现spring创建bean

    - 构造器注入:通过带有参数的构造函数来设置Bean的依赖。 - setter注入:使用setter方法来注入依赖。 - 属性注入:通过直接设置Bean的属性值。 - 方法注入:通过调用Bean的方法来注入依赖。 5. Spring Bean 的...

Global site tag (gtag.js) - Google Analytics