你的位置:首页 > 软件开发 > Java > Spring根据XML配置文件注入属性

Spring根据XML配置文件注入属性

发布时间:2017-11-13 13:00:44
方法一使用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 (#换成@)。

可能感兴趣文章

我的浏览记录