Spring之注解开发

在applicationContext.xml中开启注解扫描

//引入context标签
xmlns:context="http://www.springframework.org/schema/context"
//xsi:schemaLocation加入一下两行
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"

context标签格式为:

    <!--开启注解扫描-->
    <context:component-scan base-package="com.test"></context:component-scan>

将需要纳入spring中的Bean的类名上面添加注解@Component(value=”userDao”)

//将UserService纳入Spring管理
//这个步骤相当于
//<bean id="userService" class="com.test.service"></bean>
@Component(value="userService")
//指定单例还是多例,默认就是单例不许要指定
@Scope(value="prototype")
public class UserService
{
    //这里是注入,省略setter和getter方法
    //为UserService的属性userDao注入名字为userDao的Component
    @Resource(name="userDao")
    private UserDao userDao;
}
//------------
//将userDao纳入Spring管理
@Component(value="userDao")
public class UserDao
{

}

component的几个替代

  1. @Repositor:用于对数据层实现类进行标注
  2. @Controller:用于对控制层实现类进行标注
  3. @Service:用于对业务逻辑层实现类进行标注
    以上三种注解与@Component功能完全相同,仅仅是名称上的区别,为了增强语义

    Resource的一个升级?

    @Autowired(required=true)
    @Qualifier(value=”userDao”)
    Qualifier要与Autowired同时用,不能单独存在,作用是为复合属性(对象类型)注入,如userDao
    这两个注解等同于@Resource(name=”userDao”)
    区别在于required=true,
    意义在于:当把属性所在类纳入Spring管理时,这个属性必须被注入值,如果注入失败,则报出异常
    (也就是说一定要注入成功)
    例如userService中,如果userDao没有注入成功,那么userService也就失去了纳入Spring管理的意义了.
    @Autowired
    @Value(value=”108”)
    private Integer age;
    Value与Autowired同时用,为基本属性(基本类型)注入值

Junit整合Spring

导入spring-test-3.2.0.RELEASE.jar包add to build path

//设置类运行器
@RunWith(SpringJUnit4ClassRunner.class)
//设置读取Spring的配置文件路径
//就相当于智动获取到ApplicationConte appContext=new ClassPathXmlApplicationContext("applicationContext.xml");
@ContextConfiguration(locations="classpath:/applicationContext.xml")
public class testService
{
    //由于上面加上了ContextConfiguration,这里就自动注入了
    @Resource(name="userAction")
    private UserAction userAction;
    @Test//导入Junit的jar包  
    public void add()
    {
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值