栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring学习日记2

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring学习日记2

Spring配置数据源
  1. 导入mysql数据驱动坐标和连接池的坐标
  2. 创建jdbc.properties配置文件
  3. Spring容器加载配置文件
  4. bean数据源对象,并通过set方法注入变量值
导入mysql数据驱动坐标和连接池的坐标
 

    
      org.springframework
      spring-context
      5.1.5.RELEASE
    

    
      mysql
      mysql-connector-java
      5.1.39
    

    
      com.alibaba
      druid
      1.1.10
    
  
创建jdbc.properties配置文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456
Spring容器加载配置文件

需先引入context命名空间

加载配置文件 

bean数据源对象,并通过set方法注入变量值

        
        
        
        
    
 Spring注解开发

原始注解:主要是替代bean的开发

新注解:替代其他

注意:使用注解进行开发时,需要在applicationContext.xml中配置组件扫描,作用是指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类、字段和方法。

    

原始注解说明
@Component在类上使用,替代bean的实例化
@Controllerweb层实例化bean
@Serviceservice层实例化bean
@Repositorydao层实例化bean
@Autowired在字段上使用,根据类型进行依赖注入
@Qualifier和@Autowired一起使用,根据名称进行依赖注入
@Resource相当于@Autowired+@Qualifier
@Value注入普通属性
@Scope标注bean的作用范围
@PostConstruct使用在方法上标注该方法是Bean的初始化方法
@PreDestroy 使用在方法上标注该方法是Bean的销毁方法

新注解说明
   @Configuration指定该类为配置类,当创建容器时会从该类上加载注解
@ComponentScan用于指定 Spring 在初始化容器时要扫描的包。 作用和在 Spring 的 xml 配置文件中的 一样
   @Bean使用在方法上,标注将该方法的返回值存储到 Spring 容器中
@PropertySource用于加载.properties 文件中的配置
@import用于导入其他配置类

 配置文件转换成核心配置类

package org.example.confing;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;

//指代类为配置类
@Configuration
//组件扫描
@ComponentScan("org.example")
//加载配置文件
@PropertySource("classpath:jdbc.properties")
public class SpringConfing {
    @Value("${jdbc.driver}")
    private String driver;

    @Value("${jdbc.url}")
    private String url;

    @Value("${jdbc.username}")
    private String username;

    @Value("${jdbc.password}")
    private String password;

    @Bean("dataSource")
    public DataSource getDataSource(){
//        配置数据源信息
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);

        return dataSource;
    }
}

Spring集成Junit 

导入spring集成Junit的坐标

使用@Runwith注解替换原来的运行期

使用@ContextConfiguration指定配置文件或配置类

使用@Autowired注入需要测试的对象

创建测试方法进行测试

 导入spring集成Junit的坐标


          org.springframework
          spring-test
          5.0.5.RELEASE
      
      
          junit
          junit
          4.13
          test
      

测试用例

import org.example.confing.SpringConfing;
import org.example.service.UserService;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

//替换原来的运行期
@RunWith(SpringJUnit4ClassRunner.class)
//指定的配置类或文件
@ContextConfiguration(classes = {SpringConfing.class})
public class Test {
    @Autowired
    private UserService userService;

    @org.junit.Test
    public void eat(){
        userService.eat();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号