java spring 工厂类的静态方法获得user对象
有勇气的牛排
1553
Java
2021-10-20 13:36:42
知止自律打卡-微信小程序APP
一款微信自律打卡小程序,支持自定义打卡项目、习惯记录、项目日记、专注计时与数据统计。自律打卡、学习打卡、读书打卡、健身打卡、运动打卡、减肥打卡、戒色打卡、养生打卡、戒烟、戒酒、戒熬夜等多种场景。万能打卡模板自由创建。可自定义每日打卡目标,记录习惯连续天数,可视化追踪成长进度。
了解产品详情 →
微信搜索「知止自律打卡」
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://www.couragesteak.com/tcos/article/39b87ccab319ad75d53109fb3f52a52a.png" alt="spring bean类" /></p>
评论区