Spring注解开发 Spring注解驱动开发(3)
Spring注解开发
使用@PropertySource注解加载properties文件,在配置类上面
@Configuration
@ComponentScan("org.demo")
@PropertySource("classpath:DataSource.properties")
public class SpringConfig {
}
注意:路径仅支持单一文件配置,多文件请使用数组格式配置,不允许使用通配符*
@Component
public class BookUtils {
@Value("${name}")
private String num;
@Override
public String toString() {
return "BookUtils{" +
"num=" + num +
'}';
}
}
5、注解导入第三方bean
方式一:使用@Bean配置第三方bean
@Bean
public DataSource dataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
druidDataSource.setUrl("jdbc:mysql://localhost:3306/spring_db?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true");
druidDataSource.setUsername("root");
druidDataSource.setPassword("123456");
return druidDataSource;
}
方式二:将独立的配置类加入核心配置
@Configuration
public class JdbcConfig {
@Bean
public DataSource dataSource(){
DruidDataSource ds = new DruidDataSource();
//相关配置
return ds;
}
}
方式一:使用@Bean配置第三方bean
@Bean
public DataSource dataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
druidDataSource.setUrl("jdbc:mysql://localhost:3306/spring_db?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true");
druidDataSource.setUsername("root");
druidDataSource.setPassword("123456");
return druidDataSource;
}方式二:将独立的配置类加入核心配置
@Configuration
public class JdbcConfig {
@Bean
public DataSource dataSource(){
DruidDataSource ds = new DruidDataSource();
//相关配置
return ds;
}
}使用@Import注解手动加入配置类到核心配置,此注解只能添加一次,多个数据请用数组格式
@Configuration
@Import(JdbcConfig.class)
public class SpringConfig {
}
6、第三方Bean注入资源
简单类型依赖注入
public class JdbcConfig {
@Value("com.mysql.jdbc.Driver")
private String driver;
@Value("jdbc:mysql://localhost:3306/spring_db")
private String url;
@Value("root")
private String userName;
@Value("123456")
private String password;
//1.定义一个方法获得要管理的对象
//2.@Bean:表示当前方法的返回值是一个bean对象,添加到IOC容器中
@Bean
public DataSource dataSource(){
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(userName);
ds.setPassword(password);
return ds;
}
}
简单类型依赖注入
public class JdbcConfig {
@Value("com.mysql.jdbc.Driver")
private String driver;
@Value("jdbc:mysql://localhost:3306/spring_db")
private String url;
@Value("root")
private String userName;
@Value("123456")
private String password;
//1.定义一个方法获得要管理的对象
//2.@Bean:表示当前方法的返回值是一个bean对象,添加到IOC容器中
@Bean
public DataSource dataSource(){
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(userName);
ds.setPassword(password);
return ds;
}
}说明:如果@Value()中使用了EL表达式读取properties属性文件中的内容,那么就需要加载properties属性文件。
引用类型依赖注入
//Spring会自动从IOC容器中找到BookDao对象赋值给参数bookDao变量,如果没有就会报错。
@Bean
public DataSource dataSource(BookDao bookDao){
System.out.println(bookDao);
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(userName);
ds.setPassword(password);
return ds;
}
说明:引用类型注入只需要为bean定义方法设置形参即可,容器会根据类型自动装配对象
以上就是Spring注解开发的详细讲解,IT袋网小编希望本文能给你带来生活上的帮助!
相关阅读
-
什么是服务器机架单元U?
今天为网友们详解什么是服务器机架单元U的电脑方面的小经验,接下来小编为网友介绍。 服务器机架单元U,通常简称为U,是一个用于测量服务器机架的总高度的标准单位。 这个标准的主要目
-
DNS协议在哪一层 dns服务器工作在哪一层
dns服务器工作在哪一层()。 A.传输层 B.网络层 C.数据链路层 D.应用层 正确答案 : D.应用层 此题解析: DNS协议均位于OSI或TCP/IP参考模型的应用层。 DNS域名系统主要负责记录互联网中主机名和该
-
Redis持久化有哪几种方式 各有哪些优缺点?
今天为大家介绍Redis持久化有哪几种方式方面的知识,具体内容如下: 思考:redis做为缓存,数据的持久化是怎么做的? 在Redis中提供了两种数据持久化的方式: RDB AOF 1. RDB RDB全称Redis Database
-
javascript弹出提示框 对话框代码及用法
javascript基础知识之弹出对话框、提示框代码 ,本文将给大家介绍如何使用:alert命令代码。 javascript基础知识之弹出对话框、提示框代码示例: script type="text/javascript"alert("我是提示文字!");


