Springフレームワークの重要な知識ポイントの要約(2)

1.一般的な注意事項

ここに写真の説明を挿入
詳細コード

// 默认当前类名就是ID名称,首字母小写
@Component(value = "c")
// @Controller
// @Service(value = "c")
// @Repository(value = "c")
// @Scope(value = "singleton")     // 默认值,单例的
// @Scope(value = "prototype")         // 多例的
public class Car {
    // 注解注入值,属性set方法是可以省略不写的。
    // 只有一个属性,属性的名称是value,value是可以省略不写的
    @Value("大奔2")
    private String cname;
    @Value(value = "400000")
    private Double money;
    // 也不用提供set方法
    // 按类型自动装配的注解,和id名称没有关系
    @Autowired
    // 按id的名称注入,Qualifier不能单独使用,需要Autowired一起使用。
    // @Qualifier(value = "person")
    // @Resource Java提供的注解,按名称注入对象,属性名称是name
    // @Resource(name = "person")
    private Person person;
    /**
     * Car对象创建完成后,调用init方法进行初始化操作
     */
    @PostConstruct
    public void init(){
        System.out.println("操作...");
    }

2つの純粋な注釈

純粋な注釈方法はマイクロサービスアーキテクチャ開発の主な方法であるため、これも非常に重要です。純粋な注釈の目的は、すべての構成ファイルを置き換えることです。ただし、構成クラスを作成する必要があります。
(1)エンティティクラスの作成

@Component
public class Order {
    @Value("北京")
    private String address;
    @Override
    public String toString() {
        return "Order{" +
                "address='" + address + '\'' +
                '}';
    }}

(2)構成クラスを記述し、applicationContext.xml構成ファイルを置き換えます

// 声明当前类是配置类
@Configuration
// 扫描指定的包结构
@ComponentScan(value = "cn.tx.demo4")
public class SpringConfig {

}

(3)試験方法

public class Demo4 {
    /**
     * 编写程序,需要加载配置类
     */
    @Test
    public void run1(){
        // 创建工厂,加载配置类
        ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);
        // 获取到对象
        Order order = (Order) ac.getBean("order");
        System.out.println(order);
    }
}

(4)一般的な注意事項の要約

@Configuration宣言は構成クラスです

@ComponentScanは特定のパッケージ構造をスキャンします

@ImportアノテーションSpring構成ファイルは複数の構成に分割でき、複数の構成クラスが書き込まれます。他の構成クラスをインポートするために使用されます

@Beanアノテーションはメソッドにのみ書き込むことができ、オブジェクトがこのメソッドを使用して作成され、オブジェクトが作成されてIOCコンテナに保存されることを示します。

// 声明当前类是配置类
@Configuration
// 扫描指定的包结构
@ComponentScan(value = "cn.tx.demo4")
// @ComponentScan(value = {"cn.tx.demo4","cn.tx.demo3"})
// 引入新的配置类
@Import(value = {SpringConfig2.class})
public class SpringConfig {
    / * 创建连接池对象,返回对象,把该方法创建后的对象存入到连接池中,使用@Bean注解解决
         <!--配置连接池对象-->
         <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
             <property name="driverClassName" value="com.mysql.jdbc.Driver" />
             <property name="url" value="jdbc:mysql:///spring_db" />
             <property name="username" value="root" />
             <property name="password" value="root" />
         </bean>
     *
     * @return
     */
    @Bean(name="dataSource")
    public DataSource createDataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql:///spring_db");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
        return dataSource;
    }}

2つ目は、SpringフレームワークがJUnitユニットテストを統合することです。

ユニットテストを実行するたびに、ファクトリを作成して構成ファイルをロードするコードを作成する必要がありますが、これは面倒です。Springは、Junitユニットテストを統合するテクノロジーを提供します。これにより、テスト開発を簡素化できます。以下でそれについて学びましょう。

(1)まず、Junitユニットテストを行うため、jarパッケージが必要であり、スプリングテストの座標依存性をインポートします。

(2)構成ファイル+注釈方法

①クラスとメソッドを作成し、管理のためにIOCコンテナに渡します

public class User {
    public void sayHello(){
        System.out.println("Hello....");
    }}

②構成ファイルapplicationContext.xmlを書き込む

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
                    http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--整合单元测试-->
    <bean id="user" class="cn.tx.demo5.User"/>
</beans>

③テストコードを書く

@RunWith(value = SpringJUnit4ClassRunner.class)     // 运行单元测试
@ContextConfiguration(value = "classpath:applicationContext.xml")   // 加载类路径下的配置文件
public class Demo5 {
    // 测试哪一个对象,把该对象注入进来,在测试环境下,可以使用注解的方式注入测试的对象
    // 按类型自动注入
    @Autowired
    private User user;

    @Test
    public void run1(){
        // 创建工厂,加载配置文件......
        // 调用对象的方法
        user.sayHello();
    }
}

(3)純粋な注釈方法

①(2)に基づいて、構成ファイルを構成クラスに置き換えます。

②テストクラスで、クラスパスの下に構成ファイルをロードし、構成クラスを記録するように変更します@ContextConfiguration(classes = configuration class name.class)

皆さんを歓迎し、コメントし、欠点を指摘します。
次のセクションでは、Springフレームワークの重要な知識ポイントを要約します(3)

おすすめ

転載: blog.csdn.net/javaScript1997/article/details/108046635