常用注解

文章简介

  1. 注解
    参考文章:https://www.cnblogs.com/wangbin2188/p/9014400.html
  2. 注解记忆总结

注解

  • 常用注解
    1.常用的:



Springmvc的常用注解:@requestmapping()
                      @responseBody()
                     @pathvariable()
                     @paramVariable()
                      @postConstruct():在构造方法后,初化前执行


控制层:@RequestMapping(value="/hello")
             @InitBind

事务:@Transational
各层:@Component   指定把一个对象加入IOC容器
          @Reponsitory
         @Service(有spring的和dubbox两个)
         @Conrroller

      @Resource   属性注入
      @Autowired  :属性注入(按类型注入)
      @Value:为属性注入的值
      @Scope:指定对象作用域,有单例singleton,多例protoType等
 生命周期相关:   在方法上使用@PostConstruct,与原来的init-method等效。在方法上使用@PreDestroy,与destroy-method等效。
 替代的是applicationContext.xml:@Configuration
测试:@Test
@RunWith(SpringJUnit4ClassRunner.class):用于指定运行环境
@ContextConfiguration(locations=“”):用于指定配置文件位置

注意:①需要在类上使用注解@Component,该注解的value属性用于指定该bean的id值。(@Repository, @Service, @Conrroller
②在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型
③按名称注入域属性@Autowired与@Qualifier
④注意@requestmapping(value={"/","/index"})表示什么意思

在springmvc中 @RequestMapping(value={"", "/"})是什么意思?
这个意思是说请求路径 可以为空或者/
我给你举个例子:比如百度知道的个人中心 访问路径是
http://zhidao.baidu.com/ihome,当然你也可以通过 http://zhidao.baidu.com/ihome/来访问。我再举个例子 比如你在
在springmvc中 配置 @RequestMapping(value={"test", "test1"})
如果你项目端口是8080;然后你要访问这个方法,
你可以通过 http://localhost:8080/test或者http://localhost:8080/test1来访问

2.后端发到前端:

   @jsonFile

注解记忆总结

  • bean:@Component(@Repository,@Service,@Controller )
    @Scope(指定作用域,有单例singleton,多例protoType等)
  • 属性:@Value
    @jsonFile
    @Autowired(按类型注入,与@Qualifier联合使用)[其中常用属性名required]
    注意:个人觉得@Qualifier是指定对应类的名称,就可以找到对应的类。
    @Resource(既可以按名称匹配Bean,也可以按类型匹配Bean,默认按名称)【按类型注入域属性:不需在这个注解里面再指定其他属性;按名称注入域属性:需要加name属性】
    注意: @Autowired按类型注入后,再通过@Qualifier找到指定的类注入到这个属性上;@Resource是直接找到指定的类注入
  • 生命周期:@PostConstruct与@PreDestroy(在方法上使用@PostConstruct,与原来的init-method等效。在方法上使用@PreDestroy,与destroy-method等效。)
    替代applicationContext.xml:@Configuration
    @Bean (如@Bean(name=‘myTest’))
  • junit4测试:@RunWith(SpringJUnit4ClassRunner.class):用于指定运行环境
    @ContextConfiguration(locations=“”):用于指定配置文件位置
    @Test
  • 如果注入对象只有一个子类,@Autowired和@Resource是没有区别的,当有多个子类,特别注意在属性中@Autowired,如果没有指定@Qualifier,就会报错,找不到
@Resource装配顺序
  1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
  2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
  3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
  4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

参考文章1
参考文章2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值