@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);