一、springboot的启动
@SpringBootApplication
public class BootDemoApplication {
// psvm
public static void main(String[] args) {
// 启动springboot
SpringApplication.run(BootDemoApplication.class,args);
}
}
二、RequesMapping 与 GetMapping
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
三、@RestController = @Controller + @ResponseBody
@Controller
public class HelloController {
@GetMapping("hello")
@ResponseBody
public String hello(){
return "hello springboot!";
}
}
简写成
@RestController
public class HelloController {
@GetMapping("hello")
public String hello(){
return "hello springboot!";
}
}
四、java配置代替xml文件
方式一
//@Configuration 代替xml配置文件
@Configuration
//注入属性文件
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {
// 通过@Value 将属性文件的值 注入
@Value("${jdbc.url}")
String url;
@Value("${jdbc.driverClassName}")
String driverClassName;
@Value("${jdbc.username}")
String username;
@Value("${jdbc.password}")
String password;
//@Bean:声明在方法上,将方法的 返回值 加入到Bean容器 代替Bean标签
@Bean
public DataSource dataSource(){
// .var 自动添加返回值
// 连接池对象
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
方式二
1、修改数据库jdbc属性配置的文件名称为 application.properties;
2、创建一个属性的类 使用@ConfigurationProperties 进行属性配置
//@ConfigurationProperties编写配置文件的属性
//@Component
@ConfigurationProperties(prefix = "jdbc")
//lombok
@Data
public class JdbcProperties {
String url;
String driverClassName;
String username;
String password;
}
3、使用@EnableConfigurationProperties(属性类.class)引入属性文件
@Configuration
@EnableConfigurationProperties(JdbcProperties.class)
public class JdbcConfig {
@Bean
public DataSource dataSource(JdbcProperties prop){
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(prop.driverClassName);
dataSource.setUrl(prop.url);
dataSource.setUsername(prop.username);
dataSource.setPassword(prop.password);
return dataSource;
}
}
还可以使用:
//注入
@Autowired
JdbcProperties jdbcProperties;
// 构造函数的方式注入
public JdbcConfig(JdbcProperties jdbcProperties){
this.jdbcProperties = jdbcProperties;
}
注意: 这种方式可以在 不同的地方 引用属性配置文件
方式三
1、修改数据库jdbc属性配置的文件名称为 application.properties;
2、在需要注入属性的地方 直接@ConfigurationProperties
@Configuration
public class JdbcConfig {
@Bean
@ConfigurationProperties(prefix = "jdbc")
public DataSource dataSource(){
return new DruidDataSource();
}
}
注意:这种方式适合只需要 使用一次 的地方
五、Not registered via @EnableConfigurationProperties or marked as Spring component
@ConfigurationProperties :Not registered via @EnableConfigurationProperties or marked as Spring component
添加@Component 或者 @EnableConfigurationProperties(JdbcProperties.class) 使用该配置属性