Spring常用注解
1.spring boot 主程序类(核心注解)
1.1.@SpringBootApplication
@SpringBootApplication标志这个类是一个Spring Boot程序;
@SpringBootApplication是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan的复合注解,每次写三个比较麻烦,整合为@SpringBootApplication。
1.1.1.@SpringBootConfiguration
@SpringBootConfiguration等同于@Configuration,带有spring的标志,是属于spring的一个配置类;
组合了 @Configuration 注解,实现配置文件的功能。
1.1.2.@EnableAutoConfiguration
@EnableAutoConfiguration具有打开自动配置的功能,也可以关闭某个自动配置的选项。
1.1.3.@ComponentScan
@ComponentScan用于Spring组件扫描。
2.Controller层注解
@Controller // 表示该类为控制器类(返回路径需要在application.properties中配置前后缀)
@RestController // @ResponseBody + @Controller,返回输出结果,如json,提供前端数据操作
@RequestMapping // 配置访问路径
@RequestParam // 接收页面传参,配置在参数前,表示页面参数名
@PathVariable // 类似RequestParam
@GetMapping // get方式访问路径,带参表示带参路径会访问该方法,例如@GetMapping(“/user/{id}”)会访问localhost:8080/user/1
@PostMapping // post方式访问路径
@PutMapping // put方式访问路径
@DeleteMapping // delete方式访问路径
@ResponseBody // 这个注解标注的方法不会走视图解析器,所以直接显示内容
@RequestBody // 修饰的参数可以接收请求数据
@CrossOrign // 解决跨域问题
3.IOC容器
@Configuration
@Bean
@Service // 表示该类为业务层,bean注册
@Component // 与@Service相似,用于标记与业务无关的service,bean注册
4.从IOC取值
@Autowired // 获取bean,接口单个实现使用
@Resource // 获取bean,= @AutoWired + @Qualifier,接口有多个实现使用
@AutoWired + @Qualifier // bean注册(人为)
5.常量值
@Values // 从配置文件中取参数
@Repository
@Repository对应数据访问层Bean ,例如:
@Repository(value="userDao")
public class UserDaoImpl extends BaseDaoImpl<User> {
………
}
@Repository(value=“userDao”)注解是,让Spring创建一个名字叫“userDao”的UserDaoImpl实例。
当Service需要使用Spring创建的名字叫“userDao”的UserDaoImpl实例时,就可以使用@Resource(name = “userDao”)注解告诉Spring,Spring把创建好的userDao注入给Service即可。
// 注入userDao,从数据库中根据用户Id取出指定用户时需要用到
@Resource(name = "userDao")
private BaseDao<User> userDao;