IT袋

当前位置:主页 > 经验教程 > 建站编程 >

Spring注解开发

Spring注解开发 Spring注解驱动开发(3)

时间:2024-01-30 00:52:32 来源:IT袋 作者:马勇
导读:Spring注解开发,使用@PropertySource注解加载properties文件,在配置类上面 @Configuration@ComponentScan("org.demo")@PropertySource("classpath:DataSource.properties")public class SpringConfig {} 注意:路径

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;
    }
}

使用@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;
    }
}

说明:如果@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,通常简称为U,是一个用于测量服务器机架的总高度的标准单位。 这个标准的主要目

  • DNS协议在哪一层 dns服务器工作在哪一层

    DNS协议在哪一层 dns服务器工作在哪一层

    dns服务器工作在哪一层()。 A.传输层 B.网络层 C.数据链路层 D.应用层 正确答案 : D.应用层 此题解析: DNS协议均位于OSI或TCP/IP参考模型的应用层。 DNS域名系统主要负责记录互联网中主机名和该

  • Redis持久化有哪几种方式 各有哪些优缺点?

    Redis持久化有哪几种方式 各有哪些优缺点?

    今天为大家介绍Redis持久化有哪几种方式方面的知识,具体内容如下: 思考:redis做为缓存,数据的持久化是怎么做的? 在Redis中提供了两种数据持久化的方式: RDB AOF 1. RDB RDB全称Redis Database

  • javascript弹出提示框 对话框代码及用法

    javascript弹出提示框 对话框代码及用法

    javascript基础知识之弹出对话框、提示框代码 ,本文将给大家介绍如何使用:alert命令代码。 javascript基础知识之弹出对话框、提示框代码示例: script type="text/javascript"alert("我是提示文字!");