11-25 张森霖

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代理的支持(类上)。

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1