1.@Component(创建对象)
在类名上方声明注解(value与bean标签中的id类似)
@Component(value = "myStudent")
或者简写
@Component("myStudent")
不指定对象名称默认是类名首字母小写
@Component
声明注解之后需要在配置文件(ApplicationContext.xml)中导入类
<context:component-scan base-package="com.cb.spring02"></context:component-scan>
如果需要导入多个可以用 ; , 分隔开 或者再写一个context标签再或者直接导入父包
一下三个注解都是用来创建对象的与Component类似,但是各自有不同的功能。如果你所创建对象的类不确定是哪个层那么就可以用Component来创建对象
2.@Repository(用于持久层dao)dao可以访问数据
3.@Service(用于业务层service)service可以坐业务处理,可以有事务
4.@Controller(用在控制器上)能够接收用户提交的参数,显示请求的处理结果
5.@Value(给属性赋值)
用法:
1.直接在属性上写,无需set方法
2.也可以直接写在set方法上面
@Value("小陈")
private String sname;
6.@Autowired(给引用类型赋值,byName方式--------自动注入,自动寻找相同类型的引用进行赋值)
用法:直接写到引用或者set方法上
该注解有一个额外参数(required),是一个boolean类型false(@Autowired(required = false))表示如果赋值失败,程序不会报错,依然正常执行,false则反过来
@Autowired
private School school;
7.@Qualifier(给引用类型赋值,byType方式--------根据提供的引用名进行查找)
用法:直接写到引用或者set方法上,有value属性
@Autowired
@Qualifier("mySchool")
private School school;
8.@Resource(来源于JDK,spring提供了对这个注解的功能支持,与@Autowired类似)
默认使用byName方式,如果失败则自动使用byType方式