Spring常见注解及注解注入
- 首先要导入context约束,这是不能少的。
- 然后jar包也是必须的:目前是4+2+1个包,多了一个aop包。
- 在applicationContext.xml(一般默认)文件中导入扫描标签,它会扫描pojo包下的所有带注解的类,加入Spring容器中。本质上是扫描每个注解。 <context:component-scan base-package="com.hui.pojo"></context:component-scan>
- 在类前加上@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(); }
上一篇:
IDEA上Java项目控制台中文乱码