SSM-Spring(注解介绍和使用注解整合Mybatis)

  • Post author:
  • Post category:其他




Spring


今天给大家介绍以下几个内容:

  1. 注解驱动
  2. 注解的使用
  3. bean的加载控制
  4. 注解整合Mybatis



注解驱动

什么是注解驱动:

注解启动时使用注解的形式替代xml配置,将繁杂的spring配置文件从工程中彻底消除掉,简化书写。

在这里插入图片描述



注解的使用

  • 启动注解功能:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 加载第三方资源

    在这里插入图片描述
  • bean的非引用类型属性注入

    在这里插入图片描述
  • bean的引用类型属性注入

    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 加载properties文件

    在这里插入图片描述
  • 纯注解格式:

    在这里插入图片描述

    在这里插入图片描述
  • 第三方bean的配置与管理

    在这里插入图片描述



bean加载控制

  • 依赖加载

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



注解整合MyBatis步骤

  1. 修改mybatis外部配置文件格式为注解格式
@Configuration

public class SpringConfig {


}
  1. 业务类使用@Component声明bean,使用@Autowired注入对象
@Component("accountService")
public class AccountServiceImpl implements AccountService {

    @Autowired
    private AccountDao accountDao;

    
}
  1. 建立配置文件JDBCConfig与MyBatisConfig类,并将其导入到核心配置类SpringConfig

    在这里插入图片描述
@Configuration
@Import({JDBCConfig.class, MybatisConfig.class})

public class SpringConfig {


}
  1. 开启注解扫描
@Configuration
@ComponentScan("dao,service")
//这是加载外部的配置文件
@PropertySource("classpath:jdbc.properties")
@Import({JDBCConfig.class, MybatisConfig.class})

public class SpringConfig {


}
  1. 使用AnnotationConfigApplicationContext对象加载配置项
public class App {
    public static void main(String[] args) {
        ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
        AccountService accountService = (AccountService) ctx.getBean("accountService");
        Account account = accountService.findById(1);
        System.out.println(account );
    }
}

这是其他两个配置文件的内容:

JDBCConfig:

public class JDBCConfig {

    @Value("${jdbc.driver}")
    private String driverClassName;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;


    @Bean("dataSource")
    public DruidDataSource getDataSource() {
        System.out.println(driverClassName);
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driverClassName);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);

        return dataSource;
    }
}

MybatisConfig:

public class MybatisConfig {

    @Bean
    public SqlSessionFactoryBean getSqlSessionFactoryBean(@Autowired DataSource dataSource) {
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();

        factoryBean.setDataSource(dataSource);
        factoryBean.setTypeAliasesPackage("domain");

        return factoryBean;
    }


    @Bean
    public MapperScannerConfigurer getMapperScannerConfigurer() {

        MapperScannerConfigurer configurer = new MapperScannerConfigurer();

        configurer.setBasePackage("dao");
        return configurer;
    }

}

以上就是本次分享的全部内容了,如果有不恰当的地方,欢迎指正。



版权声明:本文为YINJOER原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。