前言 最近学习了一下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);
}
标签:jdbc,REST,SSM,flag,详解,Result,注解,Code,public
From: https://blog.51cto.com/u_16175631/6591777