启动注解
@SpringBootApplication复合注解 //启动
--@SpringBootConfiguration,-@EnableAutoConfiguration,@ComponentScan这三个注解:分别是加载配置文件、开启配置文件、组件扫描和自动装配
Controller 相关注解
@Controller //控制器,处理http请求。
@RestController 复合注解 //将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上
--@ResponseBody //通过HttpMessageConverter读取Request Body并反序列化为Object(泛指)对象
--@Controller
@RequestMapping //将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上
@GetMapping //将HTTP get请求映射到特定处理程序的方法注解
@PostMapping //将HTTP post请求映射到特定处理程序的方法注解
取请求参数值
@PathVariable //获取url中的数据
@Controller
@RequestMapping("/User")
public class HelloWorldController {
@RequestMapping("/getUser/{uid}")
public String getUser(@PathVariable("uid")Integer id, Model model) {
System.out.println("id:"+id);
return "user";
}
}
@RequestParam //获取请求参数的值
@RequestMapping("/getUser")
public String getUser(@RequestParam("uid")Integer id, Model model) {
System.out.println("id:"+id);
return "user";
}
@RequestHeader //把Request请求header部分的值绑定到方法的参数上
CookieValue //把Request header中关于cookie的值绑定到方法的参数上
注入bean相关
@Repository //DAO层注解,DAO层中接口继承JpaRepository<T,ID extends Serializable>
@Service
@Scope //作用域注解
@Entity //实体类注解
@Bean //产生一个bean的方法
@Autowired //自动导入
@Component //@Component就是告诉spring,我是pojo类,把我注册到容器中吧,spring会自动提取相关信息
导入配置文件
@PropertySource注解
引入单个properties文件:
@PropertySource(value = {"classpath : xxxx/xxx.properties"})
引入多个properties文件:
@PropertySource(value = {"classpath : xxxx/xxx.properties","classpath : xxxx.properties"})
@ImportResource导入xml配置文件
注意:单文件可以不写value或locations,value和locations都可用
相对路径(classpath)
引入单个xml配置文件:@ImportSource("classpath : xxx/xxxx.xml")
引入多个xml配置文件:@ImportSource(locations={"classpath : xxxx.xml" , "classpath : yyyy.xml"})
绝对路径(file)
引入单个xml配置文件:@ImportSource(locations= {"file : d:/hellxz/dubbo.xml"})
引入多个xml配置文件:@ImportSource(locations= {"file : d:/hellxz/application.xml" , "file : d:/hellxz/dubbo.xml"})
@Value("${properties中的键}")
private String xxx;
Import 导入额外的配置信息
@SpringBootApplication
@Import({SmsConfig.class})
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
事务注解
@Transactional
全局异常处理
@ControllerAdvice 统一处理异常
@ControllerAdvice
public class GlobalExceptionHandler {
}
@ExceptionHandler 注解声明异常处理方法
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
String handleException(){
return "Exception Deal!";
}
}