当前位置: 首页>后端>正文

spring Environment怎么用 spring怎么使用

Spring是贯穿表现、业务和持久层的整合框架,使用基本的JavaBean来完成之前只能由EJB完成的任务。Spring核心机制是依赖注入,也称控制反转。是指在程序运行中,如果需要另一个对象协助的话,无需在代码中创建对象的实例,而是依赖外部容器的注入,这里负责管理注入的就是Spring。

普通Java项目下测试IOC效果

1.             新建java Project,命名为Spring_Demo,添加Spring开发能力,注意spring的配置文件applicationContext.xml不要放在/src目录中,而放在Spring_Demo根目录下。

spring Environment怎么用 spring怎么使用,spring Environment怎么用 spring怎么使用_encoding,第1张

2.             新建Person接口和实现类Man。Food接口和Apple实现类。结构如图

spring Environment怎么用 spring怎么使用,spring Environment怎么用 spring怎么使用_apple_02,第2张

3.             修改applicationContext.xml文件,为两个bean建立关联:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">    <bean id="man"class="com.spring.demo.Man">            <property name="food">                <ref local="orange"></ref>            </property>    </bean>    <bean id="apple"class="com.spring.demo.Apple">    </bean></beans>

以上配置文件,将apple作为参数传入man类实例中,man类实例采用setFood方法,将apple实例传入man类。

4.             新建测试文件:

packagecom.spring.demo; 
importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.FileSystemXmlApplicationContext;
public classSpringDemoMain {
           public static void main(String[] args) {
              ApplicationContext context = newFileSystemXmlApplicationContext("applicationContext.xml");
              Person p =(Person)context.getBean("man");
              p.eatFood();
       }
}

以上代码实例化Man变量,调用eatFood方法,返回当前使用的具体Food实例类。

Spring实现了Bean的解耦合,使他们在代码上并没有纠缠在一起,我们可以自己修改配置文件,从而来实现另外的功能。

5.             新建一个Food接口的实现Orange

package com.spring.demo;

public class Orangeimplements Food {public String eat() {return" Orange";}}

6.             修改applicationContext.xml文件,新建bean配置,修改传值。

<beanid="apple"class="com.spring.demo.Apple"></bean>
同时修改
<propertyname="food"><reflocal="orange"></ref></property>
上文在<ref/>处实现了设值注入,另外还有一种注入方式是构造函数注入。
7.             修改Man类,增加带参构造方法。
public Man(Food food) {this.food
8.             修改配置文件为构造注入方式。
<constructor-argindex="0"><reflocal="orange"/></constructor-arg>
WeB方式下使用Spring
再来看web方式下,实现Spring的测试项目spring_example。这个例子中helloWorld.jsp输入关键字,提交后就可以在showMessages.jsp中显示结果。
1.      新建webProject项目spring_example,附加Spring开发环境。注意附加两个库:SpringCore Libraries和Spring WebLibraries。
2.      配置Web.xml内容,进行servlet启动配置,URL映射和首页定制。
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appversion="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
3.      配置[servlet-name]-servlet.xml文件,这个文件位于WEB-INF目录下。配置bean对象来解析JSP作为视图层技术。
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<beanid="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<propertyname="prefix"value="/"></property>
<propertyname="suffix"value=".jsp"></property>
</bean>
</beans>
4.      设计helloWorld.jsp文件,设计表格,action设定为helloWorld.form
<formaction="helloWorld.form">
<inputname="message"/>
<inputtype="submit"value="submit"/>
</form>
5.      新建包com.springexample.spring,新建HelloWorldForm类,设定message字串变量和getter、setter方法。
package com.springexample.spring;
public  class HelloWorldForm {
    private Stringmessage;
    public String getMessage() {returnmessage;}
    public  void setMessage(String message) {this.message
}
6.      新建控制器类HelloWorldController,这个类继承自AbstractCommandController,在Handle方法中返回一个ModelAndView对象,在构造方法中设定绑定表单类。
packagecom.springexample.spring;
 
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
 
importorg.springframework.validation.BindException;
importorg.springframework.web.servlet.ModelAndView;
importorg.springframework.web.servlet.mvc.AbstractCommandController;
 
public classHelloWorldController extends AbstractCommandController {
       private String showMessagePage;  
       public String getShowMessagePage(){return showMessagePage;}
       public void setShowMessagePage(StringshowMessagePage) {this.showMessagePage = showMessagePage;    }
       protected ModelAndViewhandle(HttpServletRequest arg0,
                     HttpServletResponse arg1,Object arg2, BindException arg3)
                     throws Exception {
              HelloWorldForm helloWorldForm =(HelloWorldForm)arg2;
              return newModelAndView(getShowMessagePage(),"helloworldform",helloWorldForm);
       }
       public HelloWorldController(){setCommandClass(HelloWorldForm.class);}
}
7.      配置spring-servlet.xml文件,增加一个ControllerBean配置,对其进行注入。
<beanid="helloWorldController"class="com.springexample.spring.HelloWorldController"><propertyname="showMessagePage"><value>showMessage</value></property></bean>
8.      新建输出页面showMessage.jsp,页面中或得helloworldform实例,输出内容。
<beanid="urlMapping"class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"><propertyname="mappings"><props><propkey="/helloWorld.form">helloWorldController</prop></props></property></bean>

9.      部署运行之。


https://www.xamrdz.com/backend/3pz1925798.html

相关文章: