Springboot项目的创建
- 引入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 编写的启动类
@SpringBootApplication
public class SbDemo {
public static void main(String[] args) {
SpringApplication.run(SbDemo.class,args);
}
}
3. 简单配置controller
@RestController
@RequestMapping("hello")
public class HelloController {
@RequestMapping("hello")
public String hello(){
return "hello world springboot!";
}
}
注解方式1属性注入(一)
jdbc.properties文件
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/leyou
jdbc.username=root
jdbc.password=123
属性注入
@Configuration
@PropertySource("jdbc.properties")
public class JdbcProperties {
@Value("${jdbc.driverClassName}")
private String driverClassName;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource(){
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setUrl(url);
return dataSource;
}
}
注解方式 属性注入(二)
- properties配置文件,文件名固定为
application.properties
内容同jdbc.properties 相同 - 属性文件读取
@Data
//@Component 对于需要频繁注入的文件加入spring容器
@ConfigurationProperties(prefix = "jdbc")
public class PropertiesConfig {
private String driverClassName;
private String url;
private String username;
private String password;
}
@Data
//@Component 对于需要频繁注入的文件加入spring容器
@ConfigurationProperties(prefix = "jdbc")
public class PropertiesConfig {
private String driverClassName;
private String url;
private String username;
private String password;
}
@Configuration
@EnableConfigurationProperties(PropertiesConfig.class)
public class Jdbc1Properties {
//完成属性注入
@Autowired
private PropertiesConfig pc1;
//构造方法注入
public Jdbc1Properties(PropertiesConfig pc){
System.out.println(pc.getUsername());
}
//方法中参数注入
@Bean
public DataSource dataSource(PropertiesConfig pc2){
DruidDataSource dataSource = new DruidDataSource();
System.out.println(pc2.getDriverClassName());
return dataSource;
}
//属性注入的应用
@Bean
public DataSource dataSource1(){
DruidDataSource dataSource = new DruidDataSource();
System.out.println(pc1.getUsername());
return dataSource;
}
}
都已注入成功
方法中完成一次性注入Spring中
创建普通javabean
@Data
public class Cust {
private String name;
private int age;
}
application.properties中添加下面属性
cust.name=安阳
cust.age=12
自动注入
@Bean
@ConfigurationProperties("cust")
public Cust cust(){
return new Cust();
}
使用和效果