@RestController
这个注解相当于同时添加@Controller和@ResponseBody注解。
@Valid
Controller层使用校验:
public String userAdd(@Valid("ValidUserBean") ValidUserBean validUserBean)
@EnableAutoConfiguration(Spring Boot建议只有一个带有该注解的类。)
Spring Boot会自动根据你jar包的依赖来自动配置项目。
例如当你项目下面有HSQLDB
的依赖时,Spring Boot会创建默认的内存数据库的数据源DataSource
,如果你自己创建了DataSource
,Spring Boot就不会创建默认的DataSource
。
如果你不想让Spring Boot自动创建,你可以配置注解的exclude
属性,例如:@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
@SpringBootApplication
由于大量项目都会在主要的配置类上添加@Configuration,@EnableAutoConfiguration,@ComponentScan
三个注解。
因此Spring Boot提供了@SpringBootApplication
注解,该注解可以替代上面三个注解(使用Spring注解继承实现)。
@SpringBootApplication去扫描特定的类而不是全部类,那么就可以关闭自动配置,如:@SpringBootApplication(exclude =
DataSourceAutoConfiguration.
class)
@ConfigurationProperties
把前缀为my的属性都注入进来:
@ConfigurationProperties(prefix=
"my")
@ConfigurationProperties(prefix =
"book",locations =
"classpath:book.properties")
prefix是指前缀,location指定要注入文件的位置。
@EnableScheduling// 启用定时任务
Spring Schedule 提供三种形式的定时任务:
固定等待时间:@Scheduled(fixedDelay = 时间间隔)
固定间隔时间:@Scheduled(fixedRate = 时间间隔)
Corn表达式:@Scheduled(cron = Corn表达式)
@Scheduled(cron= "0/20 * * * * ?") // 每20秒执行一次
启动Spring Boot项目最简单的方法就是执行下面的方法:SpringApplication.run(Application.class, args);
-
mybatis的注解:
- @Select 是查询类的注解,所有的查询均使用这个
- @Result 修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。
- @Insert 插入数据库使用,直接传入实体类会自动解析属性到对应的值
- @Update 负责修改,也可以直接传入对象
- @delete 负责删除
@Select("SELECT * FROM users")
@Results({
@Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class),
@Result(property = "nickName", column = "nick_name")
})
List<UserEntity> getAll();
-
@Select("SELECT * FROM users WHERE id = #{id}")
@Results({
@Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class),
@Result(property = "nickName", column = "nick_name")
})
UserEntity getOne(Long id);
-
@Insert("INSERT INTO users(userName,passWord,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})")
void insert(UserEntity user);
-
@Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}")
void update(UserEntity user);
-
@Delete("DELETE FROM users WHERE id =#{id}")
void delete(Long id);
-
@Select("Select * from teacher where name = #{name}")
Teacher selectTeachForGivenName(@Param("name") String name);
-
@Select("Select * from teacher where name = '${name}'")
Teacher selectTeachForGivenName(@Param("name") String name);