spring(二)之注解代替xml配置文件
-
在xml文件中使用组件扫描注解配置
<context:component-scan base-package="com.thunderwei" />
-
在相关实体类上添加注解
@Component(value="user")注解(作用在类上,表示将这个对象注入到spring容器中)
相当于<bean name="user" ...>
这里还有三个与@Component作用相同的注解,作用完全相同,只是标明了什么场合使用
@Service(用于service层)
@Controller(用于web层)
@Repository(用于dao层)
@Scope("singleton(默认)|"prototype")(singleton表示单例,只创建一个对象在spring容器中,prototype创建多个对象,每次调用都创建一个新的对象)
@Value(value="name|age")注解(值注入,作用在属性或者set方法上,表示将这个属性的值赋予对象)
@Autowired(引用注入,自动装箱,作用在属性或者set方法上,当属性为对象的时候,使用@Autowired配合@Qualifier(“car2”)注解一起使用,给指定一个具体的对象)
@Resource(name="car2")(引用注入,手动装箱,作用在属性或者set方法上,比@Autowired更简单)
@Component(value="user") @Scope("prototype") public class User{ @Value(value="thunderwei") private String name; private String age; //@Autowired //@Qualifer("car2") @Resource(name="car2") private Car car; }
-
Xml和注解的异同
使用xml配置对象,结构清晰
使用注解,方便开发
在开发中往往两者混合使用,即有xml文件,但是属性用注解配置,整合开发效率更高。