使用注解代替xml

本文详细介绍了Spring框架的基本配置流程,包括使用注解进行组件扫描、对象注册及作用域设定,阐述了值类型与引用类型的注入方式,并探讨了初始化与销毁方法的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、使用前准备

(1)导包(4+2+Spring-aop)

(2)为主配置文件引入新的命名空间(约束)

  1. 在catalog中导入约束
  2. 为主配置文件导入context约束

(3)书写主配置文件

<!-- 将会扫描club.ityuchao.domain下的所有class和子包 -->
<context:component-scan base-package="club.ityuchao.doamin"></context:component-scan>

(4)在类中使用注解

2、将对象注册到容器

	/*@Service("user")
	@Controller("user")
	@Repository("user")*/
@Component("user")
public class User {

3、修改对象的作用范围

@Component("user")
@Scope(scopeName="prototype")
public class User {

4、值类型注入

两种方式:

(1)在属性上面写

@Value("tom")
private String name;

通过反射的Filed赋值,破坏了封装性

(2)在set方法上写

@Value("tom")
public void setName(String name) {
	this.name = name;
}

未破坏封装性,但是不方便看

5、引用类型注入

两种方式:

(1)自动装配

@Autowired
public void setCar(Car car) {
	this.car = car;
}

当car有两个以上的对象时,可以配合以下注解使用

@Autowired
@Qualifier("car2")
public void setCar(Car car) {
	this.car = car;
}

(2)指定对象

@Resource(name="car2")
public void setCar(Car car) {
	this.car = car;
}

6、初始化|销毁方法

@PostConstruct
public void init() {
	System.out.println("User的初始化方法");
}
	
@PreDestroy
public void destroy() {
	System.out.println("User的销毁方法");
}

当属性设值为:@Scope(scopeName="prototype") 时,不会执行销毁方法,因为设值该属性后,Spring创建该对象后将不会再管

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值