SSM学习笔记之注解方式的Spring Bean管理

一、IOC的注释方式

1.在applicationContext.xml中配置

    <context:component-scan base-package="com.imooc.demo1"/>

2.创建UserService类:

@Component("userService")//设置bean的id
public class UserService {
    public String sayHello(String name){
        return "hello"+name;
    }
}

3.测试类里测试:

@Test
public void Demo1(){
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    UserService userService = (UserService) context.getBean("userService");
    String s = userService.sayHello("zhangsan");
    System.out.println(s);
}

4.除了Component还有三个功能基本和它相同的注解:

   @Repository   DAO层

   @Service        Service层

   @Controller    Controller层

二、DI的注解方式

1.还是以UserService为例

@Component("userService")
public class UserService {
    @Value("米饭")
    private String something;
    public String sayHello(String name){
        return "hello"+name;
    }
    void eat(){
        System.out.println("eat"+something);
    }

//@Autowired //找的是实际的类名而不是bean名称!
//@Qualifier("userDao")//加入Qualifier注解表示根据bean名称来确定类。
@Resource("userDao")//直接使用此注解,相当于前两个注解一起使用。
private UserDao dao;
public void save(){
    System.out.println("service的保存...");
    dao.save();
}
}

2.创建UserDao类

@Repository("userDao")
public class UserDao {
    public void save(){
        System.out.println("dao保存....");
    }
}

3.测试

@Test
public void Demo3(){
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    UserService userService = (UserService) context.getBean("userService");
    userService.save();
}

三、其他注解

1.当bean被载入到容器时调用init方法,销毁时调用destory方法

xml方式是在bean标签中配置init-method方法和destroy-method,而注解方式是使用@PostConstract和@PreDestroy(singleton才有效)

2.bean作用范围的注解

使用@Scope.

四、XML和注解整合使用

xml用于管理类(IOC)

注解用于属性注入(DI)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值