- @SpringBootApplication
- @Controller
- 配置文件
- @RestController
- @Service
- @Component
- @Autowrited
- @Resource
- @Bean
- @Configuration
- @CrossOrigin
- @Value
@SpringBootApplication
public class AnnotationApplication {
public static void main(String[] args) {
SpringApplication.run(AnnotationApplication.class, args);
}
}
@Controller
前后端不分离时候使用这个注解
配置文件spring.mvc.view.prefix=/ spring.mvc.view.suffix=.html # 先引入freemarker的包 spring.freemarker.suffix=.html spring.freemarker.template-loader-path=classpath:/static/
@Controller
public class ViewController {
public static final String PAGE = "view";
@RequestMapping("view") // url: http:localhost:8080/view
public String view(){
return PAGE;
}
@RequestMapping("data")
public ModelAndView data(){
ModelAndView view = new ModelAndView(PAGE);
view.addObject("str1","我叫Hello");
view.addObject("str2","我叫张三");
return view;
}
}
@RestController
前后端分离时使用,用于给前端返回数据
@RestController
@RequestMapping("action")
public class UserActionController {
@Resource(name = "adminService")
private UserService userService;
@Value("${local.username}")
private String val;
//@Autowired()
//@Qualifier("name")
//相当于
//@Resource(name = "name")
// @Controller
//
// @PostMapping
// @ResponseBody
// 相当于
// @RestController
//
// @PostMapping
@GetMapping("get")
public User get(){
// userService = new UserServiceImpl();
return userService.get();
}
@GetMapping("get/{id}")
public User getbyId(@PathVariable("id") int id,@RequestParam(value = "id", required = false, defaultValue = "122") int id){
User user = new User(id, "张三--byId", "男", 25);
System.out.println("user = " + user);
return user;
}
@PostMapping("add")
@CrossOrigin
public User add(@RequestBody User user){
System.out.println("user = " + user);
return user;
}
@PostMapping("add2")
public User add2(User user){
System.out.println("user = " + user);
return user;
}
}
@Service
注册Bean
@Component注册Bean
@Autowrited获取Bean
@Resource获取Bean
@Bean @Configuration+@Bean 注册Bean
@CrossOrigin解决跨域问题,但是不推荐使用,应该使用全局过滤器配置
@Value从配置文件中获取值



