今天小编就为大家带来一篇有关Java程序员进阶的文章。小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看吧。
Java配置类相关注解
@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上);
@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上);
@Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上);
@ComponentScan 用于对Component进行扫描,相当于xml中的(类上);
@WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解。
声明bean的注解
@Component 组件,没有明确的角色;
@Service 在业务逻辑层使用(service层);
@Repository 在数据访问层使用(dao层);
@Controller 在展现层使用,控制器的声明(C)。
注入bean的注解
@Autowired:由Spring提供;
@Inject:由JSR-330提供;
@Resource:由JSR-250提供;
都可以注解在set方法和属性上,推荐注解在属性上。
环境切换
@Profile 通过设定Environment的ActiveProfiles来设定当前context需要使用的配置环境(类或方法上)。
@Conditional Spring4中可以使用此注解定义条件话的bean,通过实现Condition接口,并重写matches方法,从而决定该bean是否被实例化(方法上)。
切面(AOP)相关注解
Spring支持AspectJ的注解式切面编程。
@Aspect 声明一个切面(类上)
使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。
@After 在方法执行之后执行(方法上);
@Before 在方法执行之前执行(方法上);
@Around 在方法执行之前与之后执行(方法上);
@PointCut 声明切点;
在Java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(类上)。
异步相关
@EnableAsync 配置类中,通过此注解开启对异步任务的支持,叙事性AsyncConfigurer接口(类上)。
@Async 在实际执行的bean方法使用该注解来申明其是一个异步任务(方法上或类上所有的方法都将异步,需要@EnableAsync开启异步任务)。
定时任务相关
@EnableScheduling 在配置类上使用,开启计划任务的支持(类上);
@Scheduled 来申明这是一个任务,包括cron,fixDelay,fixRate等类型(方法上,需先开启计划任务的支持)。
以上就是Java程序员进阶的知识汇总,内容较为全面,小编相信有部分知识点可能是我们日常工作可能会见到或用到的。希望你能通过这篇文章学到更多知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。