学习笔记——Spring 中Bean属性的注入
来源:互联网 发布:如何看待韩国 知乎 编辑:程序博客网 时间:2024/06/10 01:05
Spring 中Bean属性的注入分为两种:一种为普通属性,如private String name ;另一种为
一:普通属性的注入:
之前注入值需要提供一个Setter方法来,但是通过注解,可以不用使用Setter方法。
@Value(valeu="哈哈”)private String name;
二:如果为对象属性
@Autowiredprivate User user;@Repositorypublic class User{}按照名称注入
但是我们使用较多的是按照名称来注入
@Repository("userDao")public class UserDAO {}@Autowired// Autowired 表示自动装配,默认使用类型注入// 如果使用按名称注入则需要下边这个注解// 而且要与调用类中的使用的名字一样 @Repository("userDao"),@Qualifier("userDao")// 如果不一样,则就不能注入成功// @Autowired(required) required 默认为true,改为false,注入不成功将不会出现异常// @Resource (name="userDao") 这个注解是对以上两个注解的整合,相当于以上两个注解的作用private UserDAO userDAO;
完整代码为
UserService类:
package cn.itcast.Spring3.demo1;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import org.springframework.stereotype.Repository;/** * 通过注解的方式来装配Bean */// 由于Component注解中只有一个属性value,所以可以省略// userService 相当于给这个Bean 起了一个名字@Component("userService")// 基于注解的开发需要在配置文件中引入Context 空间,配置去扫描哪些包public class UserService {// 按值进行注入@Value(value = "哈哈")private String name;@Autowired// Autowired 表示自动装配,默认使用类型注入// 如果使用按名称注入则需要下边这个注解// 而且要与调用类中的使用的名字一样 @Repository("userDao"),@Qualifier("userDao")// 如果不一样,则就不能注入成功// @Autowired(required) required 默认为true,改为false,注入不成功将不会出现异常// @Resource (name="userDao") 这个注解是对以上两个注解的整合,相当于以上两个注解的作用private UserDAO userDAO;public void sayHello() {System.out.println("Hello Spring Annotetion…… " + name);}@Overridepublic String toString() {return "UserService [name=" + name + ", userDAO=" + userDAO + "]";}}
UserDAO类
package cn.itcast.Spring3.demo1;import org.springframework.stereotype.Repository;// 作用和 @Component 一样,但是@Repository含有分层的思想// @Repository 表示使用按类型注入的方式。// 如果使用按名称来注入则需要 @Repository()@Repository("userDao")public class UserDAO {}测试类:
package cn.itcast.Spring3.demo1;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Spring3Test1 {@Testpublic void demo1() {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = (UserService) applicationContext.getBean("userService");System.out.println(userService);}}
<?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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 告诉配置文件扫描哪个包 --><context:component-scan base-package="cn.itcast.Spring3.demo1" /></beans>
1 0
- 学习笔记——Spring 中Bean属性的注入
- Spring中Bean的简单属性注入
- Spring中Bean的复杂属性注入
- Spring 学习笔记(4)—— Bean 的基本配置、依赖注入(DI)、注入参数引用其他Bean
- 学习Spring中Bean的注入
- Spring的bean管理——注解注入属性
- 五、Spring容器中Bean的属性值的注入
- Spring中Bean属性为集合的注入方式
- Spring属性注入Bean的List属性
- [Spring] 注入Bean属性
- Spring中bean的注入
- Spring学习笔记 创建自动扫描并注入的bean
- (学习笔记)spring入门之Bean的依赖注入
- Spring 之 Bean的属性注入
- spring 依赖注入bean的属性
- 《step3:tiny-Spring-IoC学习三》——为bean注入属性
- spring的注入参数(bean对象中又有bean属性),beans.xml配置
- Spring中给bean的属性注入值以及内部Bean
- Tomcat创建虚拟目录和程序热部署
- Mac显示/隐藏文件
- 关于列表和字典的使用注意
- webpack入坑指南
- Hacking: The Art of Exploitation 读书笔记(一)代码调试技巧
- 学习笔记——Spring 中Bean属性的注入
- 修改Android手机内核,绕过反调试
- J2SE之java语法
- 分布式如何实现session共享
- Mac 10.12 编译 Android 源码
- Android空格符对比
- java html 转pdf
- 将本地项目托管到GitHub上
- python 函数篇 -4