Spring常见注解及注解注入

版权声明:知识共享 https://blog.csdn.net/liyaowen505/article/details/78220389
  1. 首先要导入context约束,这是不能少的。
  2. 然后jar包也是必须的:目前是4+2+1个包,多了一个aop包。
    这里写图片描述
  3. 在applicationContext.xml(一般默认)文件中导入扫描标签,它会扫描pojo包下的所有带注解的类,加入Spring容器中。本质上是扫描每个注解。
    <context:component-scan base-package="com.hui.pojo"></context:component-scan>
  4. 在类前加上@Component //组件 注解

就像这样
@Component(“aaa”) //组件,可以给这个类起别名,getBean的时候就用aaa.
public class Admin {…}

他有三个一样的衍生类,如下,功能一样,只是分的更细.

@Service //service层
@Controller // web层
@Repository // dao层

5.常见注解
属性注入的注解:

@Value :用于普通的类型的注入
eg:
@Value(“骚气红”)
private String color;

注解对象类型的字段
//@Autowired //从Spring容器中找到Car的对象,赋给car,如果有多个Car对象,会出错,此时用@resource来指定
@Resource(name="car2") //指定Spring容器中名为car2的Car对象赋给car;
private Car car;

生命周期的配置

@PostConstruct //相当于init-method
public void initMethod(){
System.out.println(“初始化方法被执行”);
}
@PreDestroy //相当于destroy-method
public void destroyMethod(){
System.out.println(“销毁方法被执行”);
}

自定义注解

@Target(ElementType.METHOD)// 限定某个注解只用于场合,字段、类、方法
@Retention(RetentionPolicy.RUNTIME)
// source :只在源码中起作用
// class :在class文件中依然有效
// runtime :在运行时依然有效
public @interface Author {
// public String name();
// public String password() default “123”;
// 当只有一个value时,value值可写可不写
// public String value();
public String[] value();
}
对应的应用
@Author({“lisi”,”zhangsan”})
public void readBook(){…}

其他注解

@Override //重写
public String toString(){
return “abc”;
}
@Deprecated //标识该方法已过时,但可以用
public void ssss(){
}

public void showList(){
@SuppressWarnings({ “rawtypes”, “unused” })// 忽略这些警告(没有写List的类型,list变量没有使用)
List list = new ArrayList();
}

猜你喜欢

转载自blog.csdn.net/liyaowen505/article/details/78220389