方法一使用setter方法package com.swift;public class Book { private String bookName; public void setBook(String bookName) { this.bookName = bookName ...
方法一使用setter方法
package com.swift;public class Book { private String bookName; public void setBook(String bookName) { this.bookName = bookName; } @Override public String toString() { return "Book [book=" + bookName + "]"; }}
在Spring框架中,假定Servlet类中不能直接生成Book类的对象,并注入String bookName的属性值
而需要通过配置文件
<? ="http://www.w3.org/2001/ xsi:schemaLocation=" http://www.springframework.org/schema/beans "><!-- IoC 控制反转 SpringSpring根据class="com.swift.Book"><property name="bookName" value="三体——黑暗森林"></property></bean></beans>
Servlet类代码:
package com.swift;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPath"/book")public class BookServlet extends HttpServlet { private static final long serialVersionUID = 1L; public BookServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); response.getWriter().append("Served at: ").append(request.getContextPath()); @SuppressWarnings("resource") //就是下边这几句了 ApplicationContext context=new ClassPath); Book book=(Book) context.getBean("book"); String bookInfo=book.fun(); response.getWriter().println(); response.getWriter().append(bookInfo); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
注意
beans 、context、core 和expression核心jar包
以及commons-logging 和log4j两个jar包不要缺少
方法二使用有参构造方法
package com.swift;public class Book { private String bookName; public Book() {} public Book(String bookName) { this.bookName=bookName; } public String fun() { return "Book [book="+ bookName+"]"; }}
这时
<? ="http://www.w3.org/2001/ xsi:schemaLocation=" http://www.springframework.org/schema/beans "><!-- IoC 控制反转 SpringSpring根据class="com.swift.Book"><constructor-arg name="bookName" value="基督山伯爵"></constructor-arg></bean></beans>
最后,Servlet类代码如下:
package com.swift;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPath"/book2")public class BookServlet2 extends HttpServlet { private static final long serialVersionUID = 1L; public BookServlet2() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); response.getWriter().append("Served at: ").append(request.getContextPath()); @SuppressWarnings("resource") //就是下边这几句了 ApplicationContext context=new ClassPath); Book book=(Book) context.getBean("book"); String bookInfo=book.fun(); response.getWriter().println(); response.getWriter().append(bookInfo); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
原标题:Spring根据XML配置文件注入属性
关键词:Spring
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。