导航:更多的spring注解标签点击这里
本文主要收集spring的注解,说明以及其用法样例
@Controller
应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,必须和@RequestMapping共用,否则没有任何意义
示例:
@Controller
public class BootApplication {
@RequestMapping("a")
public void atext() {
System.out.println("自己的逻辑");
}
}
@RestController
作用和@Controller类似,这是一个在@Controller基础上改装的注解
他和@Controller的区别是被标记的类自动返回json格式,因为现在不推荐使用jsp,采用hmtl界面和java接口分开,大大增加了开发的便捷性
使用示例:
@RestController
public class BootApplication {
@RequestMapping("a")
public void atext() {
System.out.println("自己的逻辑");
}
}
@RequestMapping
此注解用于标记接口的地址,必须和@Controller或者@RestController一起使用,否则没有任何意义
最常用的参数:
1:value:标记url的地址
2:method:请求方式
使用示例:
@RestController
public class BootApplication {
@RequestMapping(value ="a",method = RequestMethod.GET)
public void atext() {
System.out.println("自己的逻辑");
}
}
@Service
用户标记在应用service层(业务逻辑层),通常和@Autowired或者@Resource一起使用,从将类的实例交给spring管理
使用示例:
@Service
public class DemoService {}
//获取示例
@Autowired
private DemoService cDemoService ;
@Reponsitory
//类似的注解
@DAO
@MyBatisDao
组合注解(组合了@Component注解),应用在dao层(数据访问层)
个人见解:我个人认为这个注解只是一个规范
使用示例:表示不明觉厉
@Component
表示一个带注释的类是一个“组件”,成为Spring管理的Bean。当使用基于注解的配置和类路径扫描时,这些类被视为自动检测的候选对象。同时@Component还是一个元注解。
凝视注解:
控制层使用:@Controller,业务层使用:@Service,DAO层使用:@Reponsitory,但是有些类既不是Controller,也不是Service,更不是DAO,我们不知道怎么形容他,又要把他交给spring管理就用这个注解
使用示例:
@Component
public class Demo {}
@Autowired
//类似的注解
@Resource
Spring提供的工具(由Spring的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)自动注入。)
使用示例:
@Autowired
private DemoService cDemoService ;
@Configuration
这个注解表明这个类是一个配置文件,等价于mvc中的xml
使用示例:
@Configuration
public class MyConfiguration {}
@ComponentScan
//类似的注解
@MapperScan
自动扫描指定包下所有使用@Service,@Component,@Controller,@Repository的类并注册
@MapperScan("org.yly.minbox.boot.*")//扫描
@ComponentScan//扫描
public class BootApplication {}