【后端】SSM框架下REST风格代码注释详解

前言

最近学习了一下SSM,不得不说,spring不用注解真的是天打雷劈,就那个bean真的就是折磨人。

下面是我总结的spring注解。

@Value

此注解可以用来获取导入的jdbc.properties文件的值。

@Value("${jdbc.driver}")
    private String driver;//用法是这样的

jdbc.properties文件:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_db
jdbc.username=root
jdbc.password=root

@Bean

此注解一般是写在方法前面,使这个返回值作为一个bean返回,交给spring管理。
例如现在这个数据库连接方法:

@Bean
    public DataSource dataSource(){
    
    
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }

@Configuration

此注解用于设置当前类为配置类,一般用法如下

@Configuration
public class SpringConfig {
    
    
}

@ComponentScan

此注解用于批量注册bean,这个注解会让spring扫描指定包及其子包中所有的类,得到一批类的数组,然后将满足过滤器条件的类作为bean注册到spring容器中。
用法如下:

@ComponentScan({
    
    "com.itheima.service"})

扫描com.itheima.service包下的类,然后注册为bean以供调用

@PropertySource

此注解通常用于连接数据库的配置文件,获取jdbc.properties的值
例:

@PropertySource("classpath:jdbc.properties")

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_db
jdbc.username=root
jdbc.password=root

然后使用@Value可以获取jdbc里面的值

Import

此注解用于导入配置类
例如,我现在有两个配置文件JdbcConfig.class,MyBatisConfig.class
现在我要整合到SpringConfig.class配置类中,那么我们就要使用@import注解了
用法如下:

@Import({
    
    JdbcConfig.class,MyBatisConfig.class})

在这里插入图片描述

@EnableTransactionManagement和@EnableWebMvc

开启MyBatis事务支持和开启SpringMVC注解支持
基本无脑加在SpringConfig配置类上就完事了
配置类基本上都是固定的,其他的按照需求改就行了

@RestController

@RestController的作用等同于@Controller + @ResponseBody。
创建一个控制器类
类似于javaweb中的Servlet,为网站访问提供业务

@RestController
public class BookController {
    
    }

@RequestMapping

用法:

@RequestMapping("/books")
public class BookController {
    
    }

@Autowired

自动装配
省略了new方法,一步装配到位
比如说我有一个BookService类
我直接装配到我的Controller配置类当中
用法是这样的

@Autowired
    private BookService bookService;

REST风格注解

先看我做的笔记

http://localhost/users 查询全部用户信息 GET(查询)
http://localhost/users/1 查询指定用户信息 GET(查询)
http://localhost/users 添加用户信息 POST(新增/保存)
http://localhost/users 修改用户信息 PUT(修改/更新)
http://localhost/users/1 删除用户信息 DELETE(删除)

这里是网站申请服务的路径
然后我们看总的代码(Controller控制器类里面的方法)

@PostMapping//这里是保存
    public Result save(@RequestBody Book book) {
    
    
        boolean flag = bookService.save(book);
        return new Result(flag ? Code.SAVE_OK:Code.SAVE_ERR,flag);
    }

    @PutMapping//这里是修改
    public Result update(@RequestBody Book book) {
    
    
        boolean flag = bookService.update(book);
        return new Result(flag ? Code.UPDATE_OK:Code.UPDATE_ERR,flag);
    }

    @DeleteMapping("/{id}")//这里是删除
    public Result delete(@PathVariable Integer id) {
    
    
        boolean flag = bookService.delete(id);
        return new Result(flag ? Code.DELETE_OK:Code.DELETE_ERR,flag);
    }

    @GetMapping("/{id}")//这里是通过id查询
    public Result getById(@PathVariable Integer id) {
    
    
        Book book = bookService.getById(id);
        Integer code = book != null ? Code.GET_OK : Code.GET_ERR;
        String msg = book != null ? "" : "数据查询失败,请重试!";
        return new Result(code,book,msg);
    }

    @GetMapping//这里是查询所有
    public Result getAll() {
    
    
        List<Book> bookList = bookService.getAll();
        Integer code = bookList != null ? Code.GET_OK : Code.GET_ERR;
        String msg = bookList != null ? "" : "数据查询失败,请重试!";
        return new Result(code,bookList,msg);
    }

猜你喜欢

转载自blog.csdn.net/qq_63499305/article/details/131263576