Spring的注解

一.注解的作用

可以让你更快速高效的开发项目
当进行包扫描的时候会把加有@Component,@Repository,@Service,@Controller注解组件交由工厂管理
<context:component-scan base-package="com.baizhi.*"></context:component-scan> 

二.常用的注解

1.@Component 
	如果当前类既不是dao又不是service也不是action但是需要交给工厂管理 建议使用@Component
	作用:就是将当前类作为spring中对象的候选者
	修饰范围:主要用在类上		默认创建的名字为当前类名的首字母小写  手动指定名字需要添加value参数 @Component(value = "userDao")
2.@Repository spring建议在dao层加@Repository
3.@Service    spring建议在service层加@Service
4.@Controller spring建议在Controller层加@Controller
	将一个对象交由工厂管理的方式
		1.<bean>标签的形式  其他框架提供的类
		2.注解+包扫描
5.@Scope注解  范围:用在类上表明当前交由工厂管理的对象 是单例 还是多例
	主要使用
           @Scope(value = "prototype")  多例
           @Scope(value = "singleton")  单例
           了解
           @Scope(value = "request")    一次请求创建一个对象
           @Scope(value = "session")    一个会话创建一个对象
建议使用  Autowired
6.@Autowired :该注解放置在set方法或者是成员变量上 作用完成自动注入 默认根据类型进行注入           
      @Autowired是由spring提供的
7.@Resource   : 完成自动注入  默认先根据名字进行注入 如果找不到则使用类型注入
      @Resource是java提供
8.@Transactional 该注解可以加在方法上 也可以加在类上 当方法上和类上都有此注解 局部优先(方法上注解生效)作用:为当前方法或者是类中的所用方法加事务
   注意:使用@Transactional
   不用写这种配置
   <!--添加事务通知-->
    <tx:advice id="interceptor" transaction-manager="dataSourceTransactionManager">
       <tx:attributes>
           <tx:method name="findAll"/>
       </tx:attributes>
    </tx:advice>
    <!--组装事务切面-->
    <aop:config>
        <aop:pointcut id="pt" expression="execution(* com.baizhi.service.*.*(..))"/>
        <aop:advisor advice-ref="interceptor" pointcut-ref="pt"></aop:advisor>
    </aop:config>
    替代为
    
<!--创建事务管理器--> 
<bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
	<property name="dataSource" ref="dataSource">
	</property> 
</bean> 
<!--开启事务注解式驱动-->
 <tx:annotation-driven transaction-manager="dataSourceTransactionManager">
  </tx:annotation-driven>            
9.@ResponseBody SpringMVC开发ajax返回json(加在方法上,返回值上)
相关的jar
 <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.8</version>
    </dependency>
作用:用来返回json数据
注意:如果返回的独享数据中有日期格式 需要注解@JSONFormart(pattern=“”)
如果ajax请求需要数据处理@ResponseBody
不管ajax的请求有没有数据返回 都建议加入 @ResponseBody
问题:如果没有数据返回 会根据@RequestMapping的值做视图解析 一定找不到 会报404
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值