0
点赞
收藏
分享

微信扫一扫

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

dsysama 2023-06-30 阅读 55

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

下面是我总结的spring注解。

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

@Value("${jdbc.driver}") private String driver;//用法是这样的 1 2 jdbc.properties文件:

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm_db jdbc.username=root jdbc.password=root 1 2 3 4 @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; } 1 2 3 4 5 6 7 8 9 @Configuration 此注解用于设置当前类为配置类,一般用法如下

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

@ComponentScan({"com.itheima.service"}) 1 扫描com.itheima.service包下的类,然后注册为bean以供调用

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

@PropertySource("classpath:jdbc.properties") 1 jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm_db jdbc.username=root jdbc.password=root 1 2 3 4 然后使用@Value可以获取jdbc里面的值

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

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

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

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

@RestController public class BookController {} 1 2 @RequestMapping 用法:

@RequestMapping("/books") public class BookController {} 1 2 @Autowired 自动装配 省略了new方法,一步装配到位 比如说我有一个BookService类 我直接装配到我的Controller配置类当中 用法是这样的

@Autowired private BookService bookService; 1 2 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);
}

举报

相关推荐

0 条评论