Java程序员怎么进阶 Spring注解面试题有哪些

  Java程序员怎么进阶?Spring注解面试题有哪些?Spring是一个开源的框架,由Apache公司开发,为了简化企业级应用开发而生。很多企业在招聘过程中都会询问求职者对Spring的掌握,因为它是目前比较流行的三大框架之一。下面就给大家列举一些面试前必须掌握的Spring常用注解。

  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工程师面试题,可以专业好好学习一下,让自己快速系统的学习进阶,做企业需要的高职高能Java人才!


猜你喜欢

转载自blog.51cto.com/14551723/2476003