目录
1.@SpringBootApplication(scanbasepackages="包名")
2.@RestController
3.@ConditionalOnBean(name="stringdemo")
4.@Bean
5.@ConfigurationProperties(prefix="mycar")
6.@EnableConfigurationProperties(Car.class)
1.@SpringBootApplication(scanbasepackages="包名")
作用:放在类上,声明这是一个SpringBoot应用,该类会有一个main方法作为Boot程序的开始。拓展:1.scanbasepackages可以重新定义这个SpringBoot覆盖的范围,默认是本包及其子包
2.该注解=>@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan
@SpringBootApplication()
public class Application {
public static void main(String[] args) {
ConfigurableApplicationContext run =
SpringApplication.run(Application.class, args);
}
}
2.@RestController
作用:放在普通类上,声明这是一个web层的类。并且该类中所有方法返回的字符串将作为结果在浏览器上展示,而不是进行页面跳转。
拓展:1.该注解=>@Controller+@ResponseBody
@RestController
public class helloController {
@Autowired
car car;
@RequestMapping("/hello")
public String handle01(){
return "spring boot的第一次测试";
}
@RequestMapping("/car")
public car handle02(){
return car;
}
}
3.@ConditionalOnBean(name="stringdemo")
作用:放到方法上,如果容器中有id为stringdemo的组件,那将向容器中注入被该注解修饰的组件
@ConditionalOnBean(name="stringdemo")
@Bean
public Pet pet01(){
Pet pet = new Pet("xiaoxiao");
return pet;
}
4.@Bean
作用:放到方法名上,方法名就是组件的id,返回值就是组件的类型class
拓展:多次调用该方法得到的对象是一样的
@Bean
public User user01(){
User user = new User(18, "zhangsan");
return user;
}
5.@ConfigurationProperties(prefix="mycar")
作用:放到组件类上,为类中的属性进行赋值
拓展:属性名字必须要和配置文件中的一致,如果不一致属性值是null。该类必须是容器中已经有
的组件
@Component("car")
@ConfigurationProperties(prefix="mycar")
public class Car {
int money;
String brand;
}
mycar.money=10000 mycar.brand=maibahe
6.@EnableConfigurationProperties(Car.class)
作用:放到配置类上,自动给car类的属性赋值。把Car类自动注入到容器中
拓展:与@ConfigurationProperties(prefix="mycar")注解一起使用
@Configuration
@EnableConfigurationProperties(Car.class)
public class MyConfig {
}
@ConfigurationProperties(prefix="mycar")
public class Car {
int money;
String brand;
}



