Spring 简介(1)

来源:互联网 发布:电脑跳舞毯软件 编辑:程序博客网 时间:2024/05/17 02:15

前言

由于以前一直从事中间件,框架开发,很少涉及到前端,所以对前端和spring框架不是很熟悉,现在设计得中间件需要一些前端展示,所以现在开始重头学习一下Spring。写在此处,可能更多的原因是便于随时查看

以前我一直没有明白spring的IOC和AOP的作用有多少,感觉除了使应用复杂之外,好像没有看到什么用处。看到spring中一对配置文件,还有一大堆注解,都不知道是干什么的,所以当初也没有研究下去的意愿。因为感觉,我没有用IOC和AOP,程序一样运行得很好,扩展性,可测试性,可维护性都非常高,而且速度非常快。所以总是感觉,对于设计良好的程序,使用Spring的IOC和AOP只会增加运行负担和维护开销。

Spring简介

bean的扫描、注册

1、xml配置(schema)方式,手动扫描

<?xml version="1.0" encoding="UTF-8"?><beans>    <!-- 定义注册User的bean,唯一名称为user -->    <bean id="user" class="com.test.User"></bean>    <!-- 定义注册Dept的bean,唯一名称为dept -->    <bean name="dept" class="com.test.Dept"></bean></beans>

2、注解方式,自动扫描
现在spring的xml文件中开启注解扫描以及配置扫描的范围:标签

<context:component-scan base-package="com.test"></context:component-scan>

添加扫描过滤:

<context:component-scan base-package="com.test">    <!-- 只扫描com.test包及子包下的注解为Service的类,而过滤注解为Controller的类 -->    <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>

注解bean,以便被Spring容器扫描并实现bean注册

添加@Component,
@Repository,@Service,@Controller等注解都是具体的Component,

@Component是一个通用注解,可用于任何bean

@Repository,@Service,@Controller是更有针对性的注解,A candidate for auto-detection via classpath scanning.
@Repository通常用于注解DAO类,即持久层,Data manager / storage, ties to enterprise apps (DAO, DDD)
@Service通常用于注解Service类,即服务层,Meant to provide business logic – a (stateless) facade.
@Controller通常用于Controller类,即控制层(MVC),A web controller, popularized by Spring MVC.

@Controller
public class TestAnnotationController {…}

注意:注解方式bean的名称可以在注解时手动指定,比如@Controller(“testAnnotationController”),如果不指定则bean名称是由BeanNameGenerator生成的,格式为类名称首字母小写其它不变

0 0
原创粉丝点击