依赖注入注解模式的使用

注解

@Component(value = “user”)代表是一个普通的javabean

package com.xpc.pojo;

import org.springframework.stereotype.Component;

@Component(value = "user")
public class User {
    private int id;
    private String username;
    private String password;

@Value(“张三”)直接在属性上赋值

package com.xpc.pojo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component(value = "user")
public class User {
    @Value(value = "1001")
    private int id;
    @Value("张三")
    private String username;
    @Value("0001")
    private String password;

类上使用的注解

@Component(value = "user")//代表是一个普通的javabean  pojo包 util包
@Controller// 控制层
@Service //逻辑层
@Respository // 持久层

属性上使用DI注入的注解

@Value //注入简单数据类型 int long String double
@AutoWired //对象类型 既可以通过类型 也可以通过名称注入
@@Qualifier(value = "userDao") //和@AutoWired结合使用 强制指定通过名称注入

@Resource(name = "userDao")//和上边两个结合使用效果相同
@Resource

其他注解

@Scope(“singleton”) 指定类是单例还是多例(prototype)

@Controller
@Scope("singleton")
    public class UserController {

        @Autowired
        private UserServiceImpl userService;

        public void findAll(){
            List<User> list = userService.findAll();
            System.out.println(list.toString());
        }
}

@PostConstruct 初始化方法

@PreDestroy 销毁对象之前执行的方法

@PostConstruct
public void init(){
    System.out.println("===");
}
@PreDestroy
public void destory(){
    System.out.println("-----");
}

猜你喜欢

转载自blog.csdn.net/Riding_ants/article/details/106622986