作成する3つの特定の方法があります
準備オーケー
Mavenプロジェクトを作成し、パッケージを作成して、UserServiceインターフェイスとインターフェイス実装クラスを記述します
UserServiceImplUserServiceインターフェイス
/*
* 保存用户接口
* */
public interface UserService {
/*
* 保存用户
* */
void saveUser();
}
UserServiceインターフェース実装クラス
/*
* 保存用户实现类
* */
public class UserServiceImpl implements UserService {
public void saveUser() {
System.out.println("saveUser方法执行了");
}
}
pomファイルで導入されたjarパッケージは前の記事と同じです。前の章を参照できます。
1つは、デフォルトの構築方法が作成されることです。
Springはデフォルトでデフォルトの構築方法でBeanを作成します。構築方法がない場合は作成されません。構成ファイルで以下を構成するだけで済みます。これは、前のspringIocエントリの場合の構成と同じです。章。
bean.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和class属性后,没有配置其他的属性和标签时,采用的就是
默认构造方法创建实例,如果没有默认构造函数无法创建实例。
-->
<bean id="userService" class="com.zy.service.impl.UserServiceImpl"></bean>
</beans>
テストカテゴリ:
public class TestDemo01 {
public static void main(String[] args) {
//加载配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
//根据bean标签的id获取实例对象
UserService userService = (UserService) context.getBean("userService");
//调用方法
userService.saveUser();
}
}
演算結果:
次に、インスタンスファクトリが作成されます
インスタンスファクトリを介して作成するには、最初にファクトリパッケージの下にファクトリクラスInstanceFactoryを記述し、戻り値がUserServiceImplのcreateUserService()メソッドを記述します。
public class InstanceFactory {
/*
* 我们模拟一个实例工厂
* */
public UserService createUserService(){
//通过返回值 new UserServiceImpl
return new UserServiceImpl();
}
}
bean.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标签实例化工厂类,在通过factory-bean属性引用实例化的工厂
factory-method属性配置工厂类中的方法
-->
<bean id="instanceFactory" class="com.zy.factory.InstanceFactory"></bean>
<bean id="userService" factory-bean="instanceFactory" factory-method="createUserService"></bean>
</beans>
テストクラスは、上記の最初のデフォルトの構築方法のテストクラスと同じです。
3つの静的な工場作成
静的ファクトリを介して作成するには、最初にファクトリパッケージの下にstaticFactoryというファクトリクラスを記述し、戻り値UserServiceImplを指定してcreateUserService()メソッドを記述し、静的キーワードの変更を追加します。
public class staticFactory {
/*
* 我们模拟一个实例工厂
* */
public static UserService createUserService(){
//通过返回值 new UserServiceImpl
return new UserServiceImpl();
}
}
bean.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="userService" class="com.zy.staticFactory.staticFactory" factory-method="createUserService"></bean>
</beans>
テストクラスは、上記の最初のデフォルトの構築方法のテストクラスと同じです。
さあ、男の子