您的位置:首页 > 编程语言 > Java开发

Spring中使用注解代替xml配置文件

2017-11-06 19:49 519 查看
在使用Spring的使用过程中我们需要进行相关配置文件applicationContext.xml的配置,除此之外我们也可以使用注解的方式来代替xml配置文件。

1.使用步骤

(1)为住配置文件引入新的约束(命名空间),需要导入约束spring-context.xsd约束文件

(2)需要导入包spring-aop否则运行的时候会报错

(3)开启使用注解代替配置文件,使用案例如下:

package entity;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component("student")
@Scope(scopeName="singleton")
public class Student {
@Value("尚光荣")
private String name;
@Value("22")
private Integer age;
// @Autowired
@Resource(name="car")
private Car car;
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Student() {
System.out.println("Student对象创建了");
}
@PostConstruct
public void init() {
System.out.println("我是初始化方法");
}
@PreDestroy
public void destory() {
System.out.println("我是销毁方法");
}
@Override
public String toString() {
return "Student [" + (name != null ? "name=" + name + ", " : "") + (age != null ? "age=" + age + ", " : "")
+ (car != null ? "car=" + car : "") + "]";
}

}
2.注解解释
(1)@Component(" "):早期注解用于注册对象

(2)@Service(" "):用于注册service层的对象

(3)@Controller(" "):用于注册Web层次的对象

(4)@Repository(" "):用于注册Dao层次的对象

(5)@Scope(" "):表示对象作用范围

(6)@Value(" "):为成员变量赋值,可以放在成员变量上,也可以放在set方法上面。第一种方式是通过反射Field方式赋值破环了封装型,推荐使用第二种方式

(7)@Autowired(" "):自动为对象类型的成员变量赋值需要配合注解@Qualifier(" ")使用,用来指定唯一的注入对象

(8)@Resource(" "):这是一种比第七种方式更加方便的为对象类型的成员变量进行赋值,推荐使用

(9)@PostConstruct:表示这是初始化方法,在构造方法执行完之后执行

(10)@PreDestory:表示这是一个销毁方法,在对象完全销毁前调用

注意:只有类型是Singleton的对象,spring容器才会进行完整生命周期的管理。类型是prototype的对象,当容器创建完对象之后就不会再去进行管理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: