前言
距离本学期结束就要去实习的时间已经很短了,那么在这里我帮助大家完整的回忆一下SpringBoot的完整操作,为了更加直接体现完整的过程我会使用层叠法来完成这个系列文章,会从最新版本idea社区版本的下载开始,直至我们代码开发的整个阶段,可以将接口完全搞出来,跨域后让前端的项目可以解析,完成整个开发的闭环操作,准备工作的孩子们可以持续的跟着看看,应该会给你提供比较大的帮助。
声明:由于刚毕业的还比不可能上来就上大的微服务架构,所以这里不提供springcloud内容,当然我会在下一个系列中将本次学到的整个springboot融入到springcloud中。
系统与开发环境
系统:Windows 11 家庭中文版
idea:官网2024年1月最新社区版本:ideaIC-2024.1
数据库:阿里云RDS for MySQL 5.7
基础idea环境搭建
基础maven配置(外部独立maven)
基础maven默认配置(默认maven)
SpringBootWebProject学习——正文——常用注解说明
常用的注解也就十来个,这里会多展示一些。
@SpringBootApplication
这是一个组合注解,包括了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解。用于标识SpringBoot应用程序的入口类。
@SpringBootApplication注解通常被用于Spring Boot应用程序的入口类上,用于启动Spring Boot应用程序。它可以简化spring应用程序的配置和启动过程。
@SpringBootApplication public class Action { public static void main(String[] args) { SpringApplication.run(Action.class, args); } }
@RestController
@RestController会自动将返回值转换为JSON格式。
@Autowired
用于自动装配Spring容器中的Bean,经常会使用引入dao层接口。
@RequestMapping
用于映射请求URL和处理方法。@RequestMapping是Spring MVC框架中的一个核心注解,它用于映射HTTP请求和控制器方法之间的关系。它可以用于类级别和方法级别,用于指定请求URL和HTTP方法(GET、POST、PUT、DELETE等)。
@GetMapping
用于映射HTTP GET请求。
@PostMapping
用于映射HTTP POST请求。
@RequestParam
用于获取请求参数的值。
@RestController @RequestMapping("/api") public class UsersController { @GetMapping("/users") public List<User> getUsers(@RequestParam("page") int page, @RequestParam("size") int size) { /*获取page与size参数*/ } }
@PathVariable
用于获取URL中的参数值。
@GetMapping("/users/{id}") public User getUser(@PathVariable Long id) { // 可以看到路径上的{id} }
@RequestBody
用于将HTTP请求体中的数据绑定到控制器方法的参数上。
public User createUser(@RequestBody User user) {}
@ResponseBody
用于将控制器方法的返回值转换为HTTP响应体中的数据。
@GetMapping("/users/{id}") @ResponseBody public User getUser(@RequestBody int id) { // 从数据库或其他地方获取用户数据 User user = userService.getUserById(id); return user; }
@Component
用于标注一个类作为Spring Bean。
@Component public class OrderServiceImpl implements OrderService { // 实现OrderService接口中的方法 }
@Service
用于标注一个类作为服务类(Service)。
@Service public class OrderServiceImpl implements OrderService { // 实现OrderService接口中的方法 }
@Repository
用于标注一个类作为数据访问对象(DAO)。
@Repository public class OrderRepositoryImpl implements OrderRepository { // 实现OrderRepository接口中的方法 }
@Configuration
用于标注一个类作为配置类。
@Configuration public class AppConfig { @Bean public OrderService orderService() { return new OrderServiceImpl(); } @Bean public OrderRepository orderRepository() { return new OrderRepositoryImpl(); } }
@Value
用于将配置文件中的属性值注入到Bean对象中。
@Value("${my.property}") private String myProperty;
@Bean
用于将一个方法返回的对象注册为一个Spring Bean。
@PropertySource
用于指定一组属性文件的位置,从而可以在Spring应用程序中使用这些属性。
@EnableTransactionManagement
用于标识一个方法或类需要使用事务进行操作。使用@Transactional注解来确保这个操作在一个事务中进行,从而保证操作的原子性、一致性、隔离性和持久性。
@Service @Transactional public class OrderService {}
@Getter
@Getter是Lombok框架中的一个注解,用于自动生成getter方法。
@ToString
@ToString是Lombok框架中的一个注解,用于自动生成toString()方法。
使用前要注意是否有Lombok。
以上20个注释是我这里经常用到的,希望能给大家带来一定的帮助,后面再使用在过程中我也会详细的讲述。