- 浏览: 286903 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
cheetah_ysc:
不错不错,我喜欢!
Java固定时间间隔执行 -
voyage_mh:
阿选百度竟然一下可以吧你百度出来
使用DWR注解Annotation
第一中属性注入也就是setter注入(为属性提供相应的set和get方法)
package com.lbx.service.impl; import com.lbx.dao.UserDao; import com.lbx.po.User; import com.lbx.service.UserService; public class UserServiceImpl implements UserService { private UserDao userDao;
private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public void add(User user) { userDao.add(user); } public UserDao getUserDao() { return userDao; } public void setUserDao(UserDao userDao) { this.userDao = userDao; } }
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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="userDao" class="com.lbx.dao.impl.UserDaoImpl"></bean>
<!-- <bean id="userDao2" class="com.lbx.dao.impl.UserDaoImpl2"></bean> -->
<bean id="userService" class="com.lbx.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"></property> <!-- 这是一种Set注入,也就是调用相应的set方法,还有构造方法注入 -->
<property name="name"><value>libinxuan</value> </property>
<property name="age"><value>22</value> </property>
<!--
也可以这样写
<property name="userDao">
<ref bean="userDao"></ref>
</property>
-->
<!--<constructor-arg> 这是一种构造方法注入,参数不好处理,可以是参数类型处理和index来处理
<ref bean="userDao"></ref>
</constructor-arg> -->
</bean>
</beans>
第二种就是构造函数注入(提供相应的构造方法)多个参数可按类型和索引来区分,有时候还得同时用类型和索引来区分
package com.lbx.service.impl;
import com.lbx.dao.UserDao;
import com.lbx.po.User;
import com.lbx.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao userDao;
public UserServiceImpl(UserDao userDao) {
super();
this.userDao = userDao;
}
@Override
public void add(User user) {
userDao.add(user);
}
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
bean.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" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="userDao" class="com.lbx.dao.impl.UserDaoImpl"></bean> <!-- <bean id="userDao2" class="com.lbx.dao.impl.UserDaoImpl2"></bean> --> <bean id="userService" class="com.lbx.service.impl.UserServiceImpl"> <!--<property name="userDao" ref="userDao"></property> 这是一种Set注入,也就是调用相应的set方法,还有构造方法注入 --> <!-- 也可以这样写 <property name="userDao"> <ref bean="userDao"></ref> </property> --> <constructor-arg> <!-- 这是一种构造方法注入,参数不好处理,可以是参数类型处理和index来处理 --> <ref bean="userDao"></ref> </constructor-arg> </bean> </beans>
第三种就是接口注入(一般只用属性注入也是就是使用setter注入)
发表评论
-
Spring中AOP的模拟实现
2010-12-05 13:39 1767什么是AOP? 面向切面编程(AOP)完善spring的依赖 ... -
模拟Spring的IoC或DI
2010-12-05 13:18 1240前提:要想模拟实现Spring的IoC,先要掌握的知识点,XM ... -
Spring面试,IoC和AOP的理解
2010-12-03 19:11 1443spring 的优点? 1.降低了组件之间的耦合性 ,实现了 ... -
Spring整合Struts2
2010-11-13 12:48 927将需要的jar包加到lib下 修改web.xm ... -
Spring整合Hibernate获得HIbernateTemplate之HibernateDaoSupport
2010-11-13 12:40 1307通过继承HibernateDaoSupport来获得Hiber ... -
Spring整合Hibernate之HibernateTemplate
2010-11-13 12:36 1409要得到HibernateTemplate就得先获得Sessio ... -
Spring整合Hibernate加事务的处理
2010-11-13 12:30 1278要在Spring中使用事务,先要在beans.xml中,把命名 ... -
Spring整合Hibernate的一个简单实例
2010-11-13 12:20 1117单独使用Hibernate的时候,连接数据库时,Hiberna ... -
Spring JDBC访问数据库(properties)
2010-11-08 12:03 1535bean.xml文件的配置 <?xml version ... -
使用Spring JDBC访问数据库(DataSource)
2010-11-08 12:01 1473bean.xml文件的配置(查文档) <?xml ve ... -
Spring中AOP切面的定义方式
2010-11-08 11:46 1957Spring切面的定义有四种: 一,基于Annotat ... -
使用AspectJ来产生动态代理
2010-11-05 20:21 1715AOP的实现者: AspectJ , Aspec ... -
PostConstruct和PreDestroy
2010-11-05 19:55 2295@PostConstruct和@PreDestroy的功能就相 ... -
Spring自动检测组件
2010-11-05 19:22 1038要想检测这些类并注册相应的bean,需要在xml中包含以下元素 ... -
基于Annotation的配置
2010-11-05 18:18 703要想知道怎样使用Annotation来配置bean就的知道命名 ... -
工厂方法注入(静态和非静态)
2010-11-05 16:10 5832先看非静态的 先写一个简单工厂 package com.l ...
相关推荐
在实际开发中,可以根据需求选择合适的方式,通常推荐使用构造器注入,因为它可以提供更好的类型安全性和明确的构造过程。 总结起来,Spring的依赖注入机制是其核心特性之一,它简化了对象间的依赖关系管理,提高了...
在本篇文章中,我们将深入探讨Spring注入原理,特别是注解方式的实现,帮助你更好地理解和掌握这一技术。 ### 1. 依赖注入(Dependency Injection) 依赖注入是Spring的核心特性,它允许我们解耦组件间的依赖关系...
自动注入是Spring的一种便捷方式,它能自动匹配类型或名称来注入依赖。Spring会根据类型或bean的名称自动找到合适的依赖。类型注入默认是基于类型匹配的,而名称注入则需要指定`@Qualifier`注解来指定bean的名称。...
在上述例子中,`Student`类中的`teacher`字段使用`@Autowired`注解,Spring会自动找到`Teacher`类型的Bean进行注入。 总之,Spring提供了多种方式来定义和管理Bean,从XML到注解再到Java配置,使得开发更加灵活高效...
Spring容器会在运行时自动找到匹配类型的bean并注入。 ```java @Service // 标记为服务组件 public class UserService { @Autowired // Spring会自动寻找合适的UserRepository并注入 private UserRepository ...
**二、Spring中的依赖注入类型** 1. **构造器注入**:通过构造函数传递依赖对象,每个构造函数参数代表一个依赖。这种方式确保对象在创建时就具备了所有必需的依赖。 2. **setter注入**:通过setter方法来注入依赖...
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的概念、工作原理以及如何在实际...
当容器遇到带有@Autowired注解的字段或方法时,会根据类型或名称找到合适的依赖,并通过反射进行注入。 2. AOP:Spring的AOP框架用于在运行时动态地修改程序的行为,比如在依赖注入时,AOP代理可以在目标对象的方法...
Spring Boot 中的几种注入方法 在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的...
本教程将专注于Spring中的复杂类型注入,包括集合、自定义类以及接口实现的注入。 一、依赖注入的基本概念 依赖注入是Spring的核心特性之一,其基本思想是,一个对象不应该负责查找它的依赖,而应该由外部容器(如...
Spring4对注入参数的支持更加完善,本章将深入探讨Spring4中的参数注入机制,包括基本类型注入、对象注入、集合类型注入以及如何通过注解实现这些功能。 一、基本类型注入 Spring4允许我们将基本数据类型(如int、...
### Spring框架中的属性值注入详解 #### 一、Spring框架简介 Spring框架是一个开源的Java平台,用于构建企业级应用程序。它提供了全面的基础架构支持,包括依赖注入(Dependency Injection, DI)、面向切面编程...
当应用程序中存在多个相同类型的bean时,仅使用`@Autowired`会导致Spring无法确定具体应该注入哪一个bean,从而引发异常。这时,`@Qualifier`注解就派上了用场。通过在`@Autowired`注解附近加上`@Qualifier("bean...
设值注入不仅限于字符串,还可以注入其他类型的值,如基本类型、集合、其他bean引用等。例如,你可以注入一个列表: ```xml <value>1 <value>2 <value>3 ``` 或者,使用SpEL(Spring Expression ...
在Spring框架中,属性注入是核心特性之一,它允许我们通过依赖注入(Dependency Injection, DI)来管理对象的属性,而不是让对象自行创建或查找它们的依赖。这有助于提高代码的可测试性、可维护性和解耦性。下面将...
Spring容器在创建对象时,会根据构造器的参数类型自动匹配并注入相应的bean。这种方式确保了对象在创建时就已经具备所有必需的依赖,提高了代码的稳定性。 其次,setter注入是通过在类中声明setter方法,Spring容器...
这里,@Qualifier("userDao")告诉Spring要注入的是id为userDao的那个UserDao类型的Bean。 3. @Resource注解 @Resource是Java标准规范JSR-250中的注解,它也可以用于自动装配。与@Autowired不同的是,@Resource默认...
`@Autowired`会自动将类型匹配的`Repository`注入到`repository`字段。 三、基于Java配置的依赖注入 除了XML和注解,Spring还支持纯Java配置。通过创建一个配置类,使用`@Configuration`和`@Bean`注解来声明和定义...
在Spring框架中,注入Date类型的变量是一个常见的需求,特别是在处理日期和时间相关的业务逻辑时。这篇博客将探讨如何在Spring中有效地注入Date对象到bean的属性中。首先,我们需要了解Spring依赖注入的基本概念,它...
- **自动装配**:Spring会尝试根据类型或名称自动找到匹配的bean进行注入,`@Autowired`即表示自动装配。 - **手动装配**:通过XML配置文件或Java配置类来明确指定要注入的bean。 4. **@Qualifier注解** 当存在...