注解:代码中的特殊标记,替代配置文件来创建对象。
书写方法:@注解名称(属性=属性值)
。
注解的使用位置:类,方法,属性;
使用注解创建对象
第一步,创建Web项目,引入Spring的开发包
除了导入Spring基本的Jar包外(可参考《Spring的概述》一文),还须导入Spring注解的Jar包,如下:
第二步,编写相关的类
在src目录下创建一个cn.itcast.anno包,并在该包下编写一个User类。public class User {
public void add() {
System.out.println("add....................");
}
}
第三步,创建Spring配置文件
在Spring配置文件中引入约束,如下:
<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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
在Spring配置文件中做些事情,即开启注解扫描。
<!-- 开启注解的扫描。到配置的包里面扫描类、方法、属性上面是否有注解 -->
<context:component-scan base-package="cn.itcast"></context:component-scan>(扫描到该包的上级文件夹)
注意:也可以这样开启注解扫描,如下:
<context:annotation-config></context:annotation-config>
但是这种开启注解扫描的方式,只会扫描属性上面的注解。实际开发中用到的并不多!故不推荐使用。
第四步,在创建对象所在的类上面使用注解实现
@Component(value="user") // 类似于<bean id="user" class="..." />
public class User {
public void add() {
System.out.println("add....................");
}
}
如若注解里面属性名称是value,则可以省略,所以上面的User类亦可这样写为:
@Component("user") // 类似于<bean id="user" class="..." />
public class User {
public void add() {
System.out.println("add....................");
}
}
第五步,编写测试类
在cn.itcast.anno包下编写一个TestDemo单元测试类。public class TestDemo {
@Test
public void testUser() {
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
User user = (User) context.getBean("user");
System.out.println(user);
user.add();
}
}
测试即可。