Spring学习笔记之使用注解代替Bean

所谓注解,就是一个类,使用@注解名称,在实际开发中,也常用注解进行开发,可以减少代码量

注解形式:

@Component  取代<bean class =" ">

@Component("id") 取代<bean class=" " id=" ">

在Web开发中,提供3个@Component注解衍生注解取代<bean class="">

 

 

@Repository(“名称”)dao

 

@Service(“名称”)service

 

@Controller(“名称”)web

@Autowired:自动根据类型注入

 

@Qualifier(“名称”):指定自动注入的id名称

 

 

 

@Resource(“名称”)

 

@ PostConstruct 自定义初始化

 

@ PreDestroy 自定义销毁

 

例子

component-scan是扫描指定包下的文件,看下是否有包含注解,base-package是包名,可以指定总包的名字,不过我这个例子中直接创建了简单的包名,并没有总的包名,所在写了三个包名,如果有总包oyb的话,domain,service,test包都是oyb包下的子包,那么base-package = "oyb"就可以了

在类文件中添加注解

在test中

测试结果:

例子2(自动注入以及Componet的衍生注解)

UserDaoImpl这个类:

package oyb.dao;

import oyb.domain.User;
import org.springframework.stereotype.Service;

@Service
public class UserDaoImpl implements UserDao {


    @Override
    public void add(User user) {
        System.out.println("dao添加用户:"+user);
    }
}

UserServiceImpl这个类:

package oyb.service;

import oyb.dao.UserDao;
import oyb.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component("userService")
public class UserServiceImpl implements UserService {

    @Autowired //自动注入
    UserDao userdao;
    @Override
    public void add(User user) {
        System.out.println("service添加用户"+ user);
        userdao.add(user);
    }
}

UserAction这个类:

package oyb.action;

import oyb.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import oyb.service.UserService;

@Controller("UserAction")
public class UserAction {

    @Autowired
    UserService userService;
    public void add(){
        System.out.println("action添加用户");
        User user = new User();
        user.setUsername("OYB");
        user.setPassword("123456");
        userService.add(user);
    }
}

测试方法:

    @Test
    public void test3(){
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        UserAction userAction = (UserAction) context.getBean("UserAction");
        userAction.add();
    }

测试结果:

 其实所有的xml文件下的bean都可以通过注解来配置,从而减少xml的配置代码,开发也更加简单,配置的注解的方法都是一样的,这里就不做过多的介绍了

posted @ 2019-03-25 22:24  微命  阅读(650)  评论(0编辑  收藏  举报