Spring学习(二)—— 注解简化配置文件

使用注解简化配置文件

1.组件扫描
Spring容器会通过组件扫描该包及其子包的所有类,并将有特定注解(
通用注解:@Component、@Named;
持久化层组件注解:@Repostory;
业务层组件注解@Service;
控制层组件注解:@Controller)的类纳入容器进行管理,相当于在配置文件中配置了 一个bean元素。
以下提供一个简单的示例步骤:
(1)在类前添加特定的组件注解bean的id,还可以通过@Scope指定作用域,@Lazy指定延迟加载

import org.springframework.stereotype.Component;
@Component("sb1") //组件注解
@Scope("prototype") //指定作用域
@Lazy(true) //延迟加载
public class SomeBean {

    public SomeBean(){
        System.out.println("SomeBean");
    }
	@PostConstruct 
    public void init(){
        System.out.println("init");
    }
}

(2)在配置文件中,只需添加组件扫描,指定扫描的包

<!--  配置组件扫描  -->
<!--
      base-package指定扫描的包,Spring容器会扫描该包及其子包的所有类,并将有特定注解(如Component)的类纳入容器进行管理,相当于配置了一个bean元素。
  -->
<context:component-scan base-package="com.niuchen.spring.annotation"/>

2.依赖注入组件
@Autowired 支持set和构造器方式注入

@Autowired //set注解注入依赖
public void setWt(@Qualifier("wt") Waiter wt) {
    System.out.println("set");
    this.wt = wt;

*@Resource 只支持set方式注入

@Resource(name = "wt2")
public void setWt(Waiter2 wt2) {
    System.out.println("set");
    this.wt2 = wt2;
}

@Value注解 Spring表达式、基本数据类型注入

@Component("mg")
public class Manager {
    @Value("#{config2.pagesize}")
    private String pageSize;
    @Value("花千骨")
    private String name;

    public Manager(){
        System.out.println("Manager");
    }

    @Override
    public String toString() {
        return "Manager{" +
                "pageSize='" + pageSize + '\'' +
                ", name='" + name + '\'' +
                '}';
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Growing_Snake

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值