Spring的基础篇

搭建Spring实例

  持久层

import org.springframework.stereotype.Repository;

@Repository   //将该类的对象创建为userDao实例
public class UserDao{
	public String findUserByName(String userName) {
		return "abc";
	}
}

  业务层

import com.baobaotao.dao.UserDao;
import com.sun.istack.internal.FinalArrayList;
@Service        //通常作用在业务层,主要将业务层的类自动注册到spring容器
public class UserService{
	@Autowired   //自动将bean注册到该对象
	private UserDao userDao;
	private TransactionTemplate transactionTemplate;
	public String login(final String name,final String password) {
		return   transactionTemplate.execute(new TransactionCallback(){
			public Object doInTransaction(TransactionStatus status) {
			Object result;
			try {
			result = userDao.findUserByName(name);
			} catch (Exception e) {
			status.setRollbackOnly();
			result = false;
			System.out.println("Transfer Error!");
			}
			return result;
			}
			});
	}
}

  控制层

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import com.baobaotao.domain.User;
import com.baobaotao.service.UserService;

@Controller   //将该类注册为一个控制层的Bean实例
public class UserController{
	@Autowired  //自动注入spring容器的bean实例
	private UserService userService;
	@RequestMapping(value="login")    //
	public String login(HttpServletRequest request,User user){
		System.out.println("=========aaaaaaaa====");
		String result = userService.login(user.getUserName(), user.getPassword());
		return "success";
	}

  Spring容器配置文件

   

<?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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:c="http://www.springframework.org/schema/c"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
 http://www.springframework.org/schema/aop
 http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 扫描类包,将通过注解的类转换为Bean实例 -->
<context:component-scan base-package="com.baobaotao.dao"></context:component-scan>
<context:component-scan base-package="com.baobaotao.service"></context:component-scan>
<context:component-scan base-package="com.baobaotao.controller"></context:component-scan>
<context:component-scan base-package="testpackage"></context:component-scan>
</beans>

  SpringMVC配置文件

<?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:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <mvc:annotation-driven/>
    <context:component-scan base-package="com.baobaotao.controller"/>
    <!-- 配置视图解析器,将ModelAndView及字符串解析为具体页面 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

  web.xml文件配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>baobaotao</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!-- 从类路径下面加载Spring配置文件 -->
  <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
  </context-param>

  <!-- 加载配置文件的监听器 -->
  <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- SpringMVC的配置文件加载,这里定义了一个servlet,servlet名自己取后面要用到,class固定的,不可改变。
  	然后就是初始化init后要加载的xml文件,默认名为servlet名-servlet.xml,这个是要加载到webroot-webinf-classes下的 -->
  <servlet>
        <servlet-name>baobaotao</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:baobaotao-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>baobaotao</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

注解详解

  @Repository,标识Dao层的Bean实例。可以设置为@Repository(“XXX”)。

  @Service(“XXX”),就相当于将业务层的类定义为一个 bean,其中,XXX 即为 bean 的名称。如果不设置bean的名字,会默认为类名作为实例名。

  @Controller,用于标注控制层组件。可以设置为@Controller("XXX")。

  @Component,泛指任何一层的bean实例,可以设置为@Component("XXX)。

原文地址:https://www.cnblogs.com/youzhongmin/p/8496832.html

时间: 2024-08-01 23:27:41

Spring的基础篇的相关文章

Spring MVC 基础篇 1

Spring MVC基础篇  @RequestMapping使用 [email protected]RequestMapping 注解 进行请求映射 (1)指定Controller或者Method可以处理那些url请求. (2)适用范围:类定义上或者方法定义上都可以加. (3)在类定义处添加该注解是相对于WEB应用的根目录,在方法处是对类定义的请求处理的进一步细化.可以在类定义上没有添加该注解,但是方法定义上有该注解,此时 方法处的该注解标记的URL就是相对于WEB应用根目录. (4) 思考:此

一起学Spring之基础篇

本文主要讲解Spring的基础环境搭建以及演变由来,仅供学习分享使用,如有不足之处,还请指正. 什么是Spring ? Spring是一个开源框架,用来处理业务逻辑层和其他层之间的耦合问题.因此Spring将面向接口开发的思想贯穿整个系统应用,且Spring是一个轻量级框架,所以在诞生之初,便风靡Java开发市场,得到了广泛的认可与响应. Spring基础概念 依赖注入(DI:Dependency Injection)又叫控制反转(IoC:Inversion of Control):将组件对象的

spring boot 基础篇 -- 阿里多数据源

这块是比较基础的配置,阿里数据库配置还是比较好用的,并且可以用来监控数据源的情况.废话不多说,下面看代码. 基于maven项目,在pom.xml中添加引用: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.11</version> </dependency> 配置文件如下: serve

Spring复习基础篇

1.Spring注入方式 1.1 构造方法注入 个人理解:先按照索引进行注入,当不存在索引再按照参数类型进行注入,当具有多个同一类型参数的时候,再根据参数定义的先后顺序进行注入. 1.1.1 常见构造方法注入: 当构造方法中有多个同一个类型的参数时,将按照配置文件中定义的先后顺序进行依次匹配 1.1.2 构造方法带有简单类型的注入 Spring在注入的时候,是将配置的ref或者value标签的值转成具体的类型,然后传递给构造方法的,如果是基本类型,则Spring无法识别具体类型,无法根据具体参数

Spring MVC 基础篇 6

Spring MVC 视图解析器 1.请求直接进入页面,不经过Controller <!-- 配置直接转发的页面,请求直接进入页面,而无需再经过Controller方法 --> <mvc:view-controller path="/success" view-name="success"/> <!-- 在实际开发中通常都需要配置 mvc:annotation-driven 标签 --> <mvc:annotation-dr

Spring MVC 基础篇4

Spring MVC Controller中返回数据到页面 1.使用ModelAndView 进行数据返回到请求页面 2.利用Map类型的入参进行Controller返回到页面上 3.将数据放到Session域中,从而实现多个请求之间共享属性值

Spring MVC 基础篇 2

Spring MVC 与rest支持 [email protected] 映射URL绑定的占位符 通过@PathVariable可以将URL上占位符参数绑定到控制器处理方法的入参中:URL中的{XXX}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中. @RequestMapping(value="/hello/{name}") public String hello(@PathVariable("name") Str

Spring MVC 基础篇 3

Spring MVC请求参数接收 1.通过@RequestParam 接收请求参数 2.使用pojo对请求参数进行对象绑定 请求:http://127.0.0.1:8080//MySpringMVC01/user/save?userName=jack&userAge=11&address.province=anhui&address.city=chuzhou POJO User: public class User { private String userName; privat

Spring MVC基础篇4

Spring MVC操作原生Servlet 对象 Spring MVC 可以操作原生的Servlet API,如下的这些原生API,可以各自 自由混合使用,也可以和其他非原生 参数组合使用 实例代码: /** * 1.Spring MVC 获取原生的servlet API <br /> * 2.当请求方法的参数上加上原生的Servlet API类型请求参数 时,Spring MVC会自动注入对于类型的入参<br /> * 3.MVC Handller 方法可以接收的ServletA