博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC使用注解配置bean
阅读量:5788 次
发布时间:2019-06-18

本文共 1910 字,大约阅读时间需要 6 分钟。

如果不使用注解,在IOC容器中通过配置来加载bean。

如果使用注解的方式,在配置文件中要扫描包

  

写一个controller层

package com.neuedu.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import com.neuedu.service.UserService;@Controllerpublic class UserController {  public void sayHello(){               System.out.println("say Hello");    }}

使用@controller注解,实际上也是在IOC容器中配置了,它的id是类的首字母小写

可以写一个Junit test case

public class TestIOC {    private ApplicationContext ioc=new ClassPathXmlApplicationContext("applicationContext.xml");    @Test    public void test() {
//使用UserController类的id来调用 Object bean = ioc.getBean("userController"); System.out.println(bean); }}

@controller也可以更改id,这个注解有一个value属性值

比如:@Controller(value=" zhangsan")

package com.neuedu.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import com.neuedu.service.UserService;@Controller(vaqlue="zhangsan")public class UserController {      public void sayHello(){               System.out.println("say Hello");    }}

在Junit test  case中

public class TestIOC {    private ApplicationContext ioc=new ClassPathXmlApplicationContext("applicationContext.xml");    @Test    public void test() {//使用UserController类的id来调用        Object bean = ioc.getBean("zhangsan");        System.out.println(bean);    }}

 

@Autowired标签

@Controller(value="zhangsan")public class UserController {    @Autowired    private UserService userService;    public void sayHello(){                userService.sayHello();    }}

Autowired标签

  1.首先是将使用  UserService 类,

  2.如果类有冲突就使用 id,其实就属性名userService

 

1]首先检测标记了@Autowired注解的属性的类型

[2]根据类型进行装配
[3]如果指定类型的bean不止一个,那么根据需要被装配的属性的属性名做id的值,查找bean
[4]如果根据id值还是没有找到bean,可以使用@Qualifier注解手动指定要装配的bean的id.

 

转载于:https://www.cnblogs.com/xuesheng/p/7445264.html

你可能感兴趣的文章
Mysql 数据备份与恢复,用户创建,授权
查看>>
沉思录
查看>>
Angular.js中的$injector服务
查看>>
构建之法读书笔记01
查看>>
linux - lsof 命令最佳实践
查看>>
kafka性能测试
查看>>
现实世界的Windows Azure:h.e.t软件使用Windows Azure削减50%的成本
查看>>
深入.net框架
查看>>
聚合类新闻client产品功能点详情分析
查看>>
js设置定时器
查看>>
数据库除运算
查看>>
LeetCode--112--路径总和
查看>>
DeviceIOControl与驱动层 - 缓冲区模式
查看>>
感悟贴2016-05-13
查看>>
vim使用教程
查看>>
JDK在LINUX系统平台下的部署案例与总结
查看>>
跨vlan通信-----单臂路由技术
查看>>
百度编辑器ueditor 光标位置的坐标
查看>>
DEV-C++ 调试方法简明图文教程(转)
查看>>
VS2017+EF+Mysql生成实体数据模型(解决闪退的坑)
查看>>