发现java不常用的原生注解使用

Generated

,用于标识生成的代码或类是由哪个工具或程序自动生成的,一般是由代码生成器或自动化构建工具生成的代码所使用的。

在实际应用中,一些自动生成代码的工具会在生成的Java源代码中添加 @javax.annotation.Generated 注解,以便于开发者识别代码是否是手动编写的还是由工具生成的。这个注解的值一般包括生成代码的工具的名称和版本号等信息。

@javax.annotation.Generated("MyCodeGenerator v1.0")
public class MyGeneratedClass {
    // 生成的代码
}

ManagedBean

我们使用@ManagedBean注解将Java类MyBean标记为ManagedBean。该类具有一个私有字段message,以及对应的getter和setter方法。

通过将类标记为ManagedBean,容器会在需要时自动创建该类的实例,并将其纳入容器的管理。你可以通过依赖注入或从相应的上下文获取ManagedBean的引用,而不必手动创建和管理对象。

这个和spring的bean一样,spring应该 参考这个了。

@ManagedBean
public class MyBean {
    private String message;

    public MyBean() {
        message = "Hello, ManagedBean!";
    }

    // Getters and setters

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

@PostConstruct

@PostConstruct是Java EE(现在的Jakarta EE)中的一个注解,它用于标记一个方法,在对象创建和依赖注入完成后立即执行。它通常用于执行一些初始化操作或准备工作。

使用@PostConstruct注解时,需要注意以下几点:

方法必须在非静态的方法上标记。
方法不能有任何参数。
方法的访问修饰符可以是public、protected或package-private(默认修饰符)。
方法不能抛出任何已检查异常。
public class MyClass {
    
    @PostConstruct
    public void init() {
        // 执行初始化操作
        // ...
    }
}

@PreDestroy

@PreDestroy是Java EE(现在的Jakarta EE)中的一个注解,它用于标记一个方法,在对象销毁之前执行一些清理或收尾工作。

使用@PreDestroy注解时,需要注意以下几点:

方法必须在非静态的方法上标记。
方法不能有任何参数。
方法的访问修饰符可以是public、protected或package-private(默认修饰符)。
方法不能抛出任何已检查异常。
Spring中,也可以使用@PreDestroy注解,用于执行类似的清理工作。
public class MyClass {
    
    @PreDestroy
    public void cleanup() {
        // 执行清理或收尾工作
        // ...
    }
}

@Resource

ava EE中的@Resource注解: @Resource是Java EE中的一个注解,用于标记依赖注入的资源。它可以用于注入各种类型的资源,如数据库连接、JMS队列、JNDI资源等。在Java EE中,@Resource注解通常与命名和管理资源的容器进行交互。通过指定资源的名称或标识符,容器能够在适当的时候注入相关资源。
Spring也支持使用@Resource注解来注入资源
public class MyClass {
    @Resource(name = "myDataSource")
    private DataSource dataSource;

    // ...
}
posted @ 2023-09-10 22:11  三号小玩家  阅读(196)  评论(0)    收藏  举报
Title
三号小玩家的 Mail: 17612457115@163.com, 联系QQ: 1359720840 微信: QQ1359720840