spring 常用注解总结

@Alias("ApiAppGeteway")==给bean指定别名,可以给相同的两个bean分别指定不同的别名

@Autowired==自动注入 spring的标签
private BasicObjectService basicObjectService;

@Resource==自动注入 j2ee的标签
private CameraImageDAO dao;


@Controller ==action标示
@RequestMapping(value = "/basic") ==请求的地址路径
@Scope("session") ==作用域
public class BasicObjectAction {


/**
* 列表数据
*/
@RequestMapping(value = "/basicObjectByArea", method = RequestMethod.POST)
@ResponseBody==表示返回json格式的数据
public Object basicObjectByArea(HttpServletRequest request, String areaIds) {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {


/**
* 列表页面,没有@ResponseBody 则返回html格式的数据
*/
@RequestMapping(value = "/basicObject", method = RequestMethod.GET)
public Object listPage() {
return "basicObject";
}

====配置注解
/**
* Spring Root Application Context 配置
*/
@Order(0)
调整配置类加载顺序

@Configuration
用@Configuration注解该类,等价 与XML中配置beans;用@Bean标注方法等价于XML中配置bean。

@ComponentScan(basePackages = "com.qhiot", excludeFilters = { @ComponentScan.Filter(type = FilterType.ANNOTATION, value = { Controller.class }) })
那么对于配置的视图控制器加了
@Configuration 和@ComponentScan注解背后会做什么呢?

其实很简单,@ComponentScan告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器。
例如,如果你有个类用@Controller注解标识了,那么,如果不加上@ComponentScan,自动扫描该controller,那么该Controller就不会被spring扫描到,更不会装入spring容器中,因此你配置的这个Controller也没有意义。
类上的注解@Configuration 是最新的用注解配置spring,也就是说这是个配置文件,和原来xml配置是等效的,只不过现在用java代码进行配置了 加上一个@Configuration注解就行了,是不是很方便,不需要那么繁琐的xml配置了,这样基于注解的配置,可读性也大大增高了。

@ImportResource(value = { "classpath:spring/datasource.xml" })
学习如何使用@ImportResource 和 @Value 注解进行资源文件读取
http://www.cnblogs.com/JsonShare/p/4627665.html

@EnableTransactionManagement
@EnableTransactionManagement注解开启注解式事务的支持。
注解@EnableTransactionManagement通知Spring,@Transactional注解的类被事务的切面包围。这样@Transactional就可以使用了

@EnableScheduling
要实现计划任务,首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。
Spring通过@Scheduled支持多种类型的计划任务,包含cron、fixDelay、fixRate等。
在本示例中:
使用cron属性可按照指定时间执行,本例写的是每天20点07分执行;

@EnableAspectJAutoProxy(proxyTargetClass=true)
@EnableAspectJAutoProxy:
表示开启AOP代理自动配置,如果配@EnableAspectJAutoProxy表示使用cglib进行代理对象的生成;设置@EnableAspectJAutoProxy(exposeProxy=true)表示通过aop框架暴露该代理对象,aopContext能够访问.
从@EnableAspectJAutoProxy的定义可以看得出,它引入AspectJAutoProxyRegister.class对象,该对象是基于注解@EnableAspectJAutoProxy注册一个AnnotationAwareAspectJAutoProxyCreator,该对象通过调用AopConfigUtils.registerAspectJAnnotationAutoProxyCreatorIfNecessary(registry);注册一个aop代理对象生成器。


public class SpringConfig {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值