编写测试类

1,编写相关的类

public interface UserDao {
public void sayHello();
}
public class UserDaoImpl implements UserDao {
@Override
public void sayHello() {
System.out.println("Hello Spring...");
}
}

2,配置注解扫描

<!-- 指定扫描bean包下的所有类中的注解.base-package属性是需要注解的类所在包的包名
  注意:扫描包时会扫描指定报下的所有子孙包,这个bean包是我自己创建的.

-->
<context:component-scan base-package="bean"></context:component-scan>

3,在相关的类上添加注解

@Component(value="userDao")
public class UserDaoImpl implements UserDao {
@Override
public void sayHello() {
System.out.println("Hello Spring Annotation...");
}
}

4,编写测试类

@Test
public void demo2() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//applicationContext.xml是在src下
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userDao.sayHello();
}

Spring 的 Bean 管理的中常用的注解

1 ,@Component:组件.(作用在类上)

Spring 中提供@Component 的三个衍生注解:(功能目前来讲是一致的)

* @Controller :WEB 层

* @Service :业务层

* @Repository :持久层

这三个注解是为了让标注类本身的用途清晰,Spring 在后续版本会对其增强

2,属性注入的注解:(使用注解注入的方式,可以不用提供 set 方法.)

@Value :用于注入普通类型.

@Autowired :自动装配: * 默认按类型进行装配. * 按名称注入: 如果有同一个类有两个已经注解的实例,会比较麻烦

@Qualifier:强制使用名称注入.

@Resource 相当于: @Autowired 和@Qualifier 一起使用.

3,Bean 的作用范围的注解:

@Scope:

singleton:单例

prototype:多例

4,Bean 的生命周期的配置:

@PostConstruct :相当于 init-method

@PreDestroy :相当于 destroy-method

比如:

@Component("User")
@Scope(scopeName="singleton")//指定对象的作用范围singleton是单例,prototype是多例
public class User { @Value(value="***")
private String name;
@Value(value="19")
private Integer age;
//@Autowired//自动装配
//@Qualifier("car2") @Resource(name="car2")
private Car car;
//中间省略了get和set方法 @PostConstruct
public void init(){
System.out.println("初始化方法");
}
@PreDestroy
public void destory(){
System.out.println("销毁方法");
}
}

Spring之Bean管理------注解方式的更多相关文章

  1. IoC容器-Bean管理注解方式(创建对象)

    IoC操作Bean管理(基于注解方式) 1,什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值...) (2)使用注解,注解作用在类上面,方法上面,属性上面 ( ...

  2. IoC容器-Bean管理注解方式(注入属性@Autowired和Qualifier)

    基于注解方式实现属性注入 (1)@Autowired:根据属性类型进行自动装配 第一步 把 service 和 dao 对象创建,在service 和 dao 类添加创建对象注解 第二步 在servi ...

  3. IoC容器-Bean管理注解方式(完全注解开发)

    完全注解开发 (1)创建配置类,替代xml配置文件 (2)编写测试类 在实际中一般用springboot做

  4. IoC容器-Bean管理注解方式(组件扫描配置)

    4,开启组件扫描细节配置

  5. Spring 的Bean管理的常用注解

    属性注入的注解(使用注解注入的方式,可以不用提供set方法) @Value 用于注入普通类型 @Autowired 自动装配 :默认按类型进行装配  按名称注入 @Qualifier 强制使用名称注入 ...

  6. 面试阿里,字节,美团必看的Spring的Bean管理详解

    IOC容器 工厂只负责创建对象,而Spring当然不仅仅是一个对象工厂,其核心是一个对象容器,其具备控制反转的能力,所以也称为IOC容器. 帮助我们存放对象,并且管理对象,包括:创建.销毁.装配,这样 ...

  7. Spring的bean管理(注解方式)

    注解:代码中的特殊标记,注解可以使用在类.方法.属性上面,使用注解可实现一些基本的功能.注解的写法是@注解名称(属性=属性值). 使用注解创建对象 第一步,创建Web项目,引入Spring的开发包 第 ...

  8. (转)Spring的bean管理(注解方式)

    http://blog.csdn.net/yerenyuan_pku/article/details/69663779 Spring的bean管理(注解方式) 注解:代码中的特殊标记,注解可以使用在类 ...

  9. Spring 的 Bean 管理(注解方式)

    Spring 的 Bean 管理(注解方式) 1. 导入必要的 jar 包和 xml 文件 使用注解需要导入 spring-aop 的 jar 包. applicationContext.xml 文件 ...

随机推荐

  1. Intellij Idea 建立maven项目 报错 :java: 错误: 不支持发行版本 5

    百度一搜这个错误,好多人都遇到了 不计其数的人都遇到.网上大多数都是菜鸟的愚见.经过本人的测试发现,用Idea建立普通的Java项目 然后随便建立一个类运行就不会报错. 但是如果用Idea建立一个普通 ...

  2. 8 java 笔记

    1 import语句可以简化编程,可以导入指定包下面的某个类或者全部类 2 java.lang,Object类是所有类的父类,要么是其直接父类,要么是其间接父类 3 子类扩展了父类,子类是一种特殊的父 ...

  3. 输入列号得到excel对应的字母列

    zexcel_cell_column 类型是INT4 FUNCTION ZGET_EXCEL_COL. *"----------------------------------------- ...

  4. KVM命令记录

    创建qcow2镜像qemu-img create -f qcow2 /vm/kvm/img/vm41.img 500G 创建虚拟机virt-install --name=vm41 --disk pat ...

  5. Delphi 图形组件(Shape)

    樊伟胜

  6. python面向编程;类的绑定与非绑定方法、反射、内置方法

    一.类的绑定与非绑定方法 ''' 类中定义函数分为了两大类: 1. 绑定方法 特殊之处: 绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数自动传入 绑定给对象的方法: 在类中定义函数没有被任何 ...

  7. 3.NIO_Buffer缓冲区

    1.缓冲区(Buffer) 一个用于特定基本数据类型的容器.由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类,任何时候访问 NIO 中 的数据,都是通过缓冲区进行操作 在 J ...

  8. Linux:INIT runlevel service netstat ps top pgrep kill killall jobs pkill crontab

    INIT进程 Linux内核加载执行/sbin/init程序 -Linux的第一个进程,进程ID为1 -主配置文件:/etc/ininttab init 0 关机 init 1 单用户模式 init ...

  9. Python——缓冲区

    原创声明:本文系博主原创文章,转载及引用请注明出处. 1. 在Python中,字符串和整型对象都是不可变的(immutable)类型,因此Python会很高效地缓存它们. 2. Python2.3简单 ...

  10. JVM锁说明

          以前Synchronised关键字加锁效率问题,经常受到吐槽.后来java的开发团队进行了优化,引入了偏向锁.自旋锁.轻量锁,性能有了很大的提升.下面我们来分析下这里面的过程和原理.   ...