java spring 工厂类的静态方法获得user对象
有勇气的牛排
962
Java
2021-10-20 13:36:42
1 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="user" class="net920vip.bean.User"></bean>
< !--工厂类静态方法创建-->
< bean id="user1" class="net920vip.factory.UserFactory" factory-method="getUser1">< /bean>
< /beans>
2 bean类User
package net920vip.bean;
public class User {
private String username;
public void show(){
System.out.println("666");
}
public User() {
super();
}
public User(String username) {
this.username = username;
}
}
3 Test.java
import net920vip.bean.User;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
@SuppressWarnings("resource")
public static void main(String[] args) {
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
User user = (User)ac.getBean("user");
user.show();
User user1 = (User)ac.getBean("user1");
user1.show();
}
}
4 展示

<h2><a id="1_beanxml_0"></a>1 bean.xml</h2>
<pre><div class="hljs"><code class="lang-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="net920vip.bean.User"><span class="hljs-tag"></<span class="hljs-name">bean</span>></span>
< !--工厂类静态方法创建-->
< bean id="user1" class="net920vip.factory.UserFactory" factory-method="getUser1">< /bean>
< /beans>
</code></div></pre>
<h2><a id="2_beanUser_16"></a>2 bean类User</h2>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">package</span> net920vip.bean;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">User</span> {
<span class="hljs-keyword">private</span> String username;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">show</span><span class="hljs-params">()</span>{
System.out.println(<span class="hljs-string">"666"</span>);
}
<span class="hljs-comment">// 有参构造</span>
<span class="hljs-keyword">public</span> <span class="hljs-title function_">User</span><span class="hljs-params">()</span> {
<span class="hljs-built_in">super</span>();
}
<span class="hljs-comment">// 有参构造</span>
<span class="hljs-keyword">public</span> <span class="hljs-title function_">User</span><span class="hljs-params">(String username)</span> {
<span class="hljs-built_in">this</span>.username = username;
}
}
</code></div></pre>
<h2><a id="3_Testjava_40"></a>3 Test.java</h2>
<ul>
<li>测试类</li>
</ul>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">import</span> net920vip.bean.User;
<span class="hljs-keyword">import</span> org.springframework.context.support.ClassPathXmlApplicationContext;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">Test</span> {
<span class="hljs-meta">@SuppressWarnings("resource")</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">main</span><span class="hljs-params">(String[] args)</span> {
<span class="hljs-type">ClassPathXmlApplicationContext</span> <span class="hljs-variable">ac</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">ClassPathXmlApplicationContext</span>(<span class="hljs-string">"bean.xml"</span>);
<span class="hljs-type">User</span> <span class="hljs-variable">user</span> <span class="hljs-operator">=</span> (User)ac.getBean(<span class="hljs-string">"user"</span>);
user.show(); <span class="hljs-comment">// 打印666</span>
<span class="hljs-type">User</span> <span class="hljs-variable">user1</span> <span class="hljs-operator">=</span> (User)ac.getBean(<span class="hljs-string">"user1"</span>);
user1.show(); <span class="hljs-comment">// 打印666</span>
}
}
</code></div></pre>
<h2><a id="4__63"></a>4 展示</h2>
<p><img src="https://static.couragesteak.com/article/39b87ccab319ad75d53109fb3f52a52a.png" alt="spring bean类" /></p>
留言