1 IOC装配Bean(注解方式)

1.1 Spring的注解装配Bean

Spring2.5 引入使用注解去定义Bean

@Component  描述Spring框架中Bean

Spring的框架中提供了与@Component注解等效的三个注解:

@Repository 用于对DAO实现类进行标注

@Service 用于对Service实现类进行标注

@Controller 用于对Controller实现类进行标注

1.2 Bean的属性注入:

普通属性:

@Value(value="sihai")private String info;

对象属性:

@Autowired:自动装配默认使用类型注入.

@Qualifier("userDao")--- 按名称进行注入.

@Qualifier("userDao")private UserDao userDao;等价于@Resource(name="userDao")private UserDao userDao;

1.3 Bean其他的属性的配置:

配置Bean初始化方法和销毁方法:

init-method 和 destroy-method.

@PostConstruct 初始化

@PreDestroy  销毁

配置Bean的作用范围:

@Scope

1.4 Spring3.0提供使用Java类定义Bean信息的方法

@Configurationpublic class BeanConfig {@Bean(name="car")public Car showCar(){Car car = new Car();car.setName("长安");car.setPrice(40000d);return car;}@Bean(name="product")public Product initProduct(){Product product = new Product();product.setName("空调");product.setPrice(3000d);return product;}}

1.5 实际开发中使用XML还是注解

XML:

bean管理

注解;

注入属性的时候比较方便.

两种方式结合;一般使用XML注册Bean,使用注解进行属性的注入.

<context:annotation-config/>@Autowired@Qualifier("orderDao")private OrderDao orderDao;

2 Spring整合web开发

正常整合Servlet和Spring没有问题的

但是每次执行Servlet的时候加载Spring配置,加载Spring环境.

解决办法:在Servlet的init方法中加载Spring配置文件

将加载的信息内容放到ServletContext中.ServletContext对象时全局的对象.服务器启动的时候创建的.在创建ServletContext的时候就加载Spring的环境.

ServletContextListener:用于监听ServletContext对象的创建和销毁的.

2.1 导入

spring-web-3.2.0.RELEASE.jar

2.2 在web.xml中配置

 <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>

修改程序的代码:

WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());WebApplicationContext applicationContext = (WebApplicationContext) getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

3 Spring集成JUnit测试

3.1.程序中有Junit环境.


3.2.导入一个jar包.spring与junit整合jar包.

spring-test-3.2.0.RELEASE.jar

3.3测试代码:

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:applicationContext.xml")public class SpringTest {@Autowiredprivate UserService userService;@Testpublic void demo1(){userService.sayHello();}}

Spring教程--IOC(注解方式)和整合junit相关推荐

  1. Spring的AOP-AspectJ注解方式

    目录 Spring的AOP-AspectJ注解方式 1.创建类,在类里面定义方法 2.创建增强类 3.进行通知的配置 (1)在Spring 配置文件中,开启直接扫描 (2)使用注解创建User 和 U ...

  2. spring AOP自定义注解方式实现日志管理

    转:spring AOP自定义注解方式实现日志管理 今天继续实现AOP,到这里我个人认为是最灵活,可扩展的方式了,就拿日志管理来说,用Spring AOP 自定义注解形式实现日志管理.废话不多说,直接 ...

  3. 十二 Spring的AOP开发入门,整合Junit单元测试(AspectJ的XML方式)

    创建web项目,引入jar包 引入Spring配置文件 编写目标类,完成配置 编写测试类 Spring整合Junit单元测试 编写一个切面类 配置切面类,产生代理: <?xml version= ...

  4. springmvc3.2+spring+hibernate4全注解方式整合(一)

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  5. SSM—Spring框架,IOC理论推导,Hello Spring,IOC创建对象方式,Spring的配置,DI(依赖注入)

    文章目录 1.Spring 1.1.Spring简介(了解) 1.2.spring优点 1.3.组成(七大模块) 1.4.拓展 2.IOC理论推导 2.1.IOC本质 3.Hello Spring 4 ...

  6. Spring学习:Spring的IOC注解

    文章目录 一.简介 二.IOC注解 (一)常用的注解 (二)扫描包 (三)数据装配 三.生命周期 四.Bean实例化的时机 五.Bean在IOC容器中单例和多例 六.SpringIOC注解完整示例代码 ...

  7. Spring IOC注解方式

    1.首先要导包 2.导入context名称空间 <?xml version="1.0" encoding="UTF-8"?> <beans x ...

  8. Spring:Spring IOC注解方式注册beanDefinition

    文章目录 1.美图 2.概述 3.案例 3.1 案例1 4.容器初始化 5.AnnotationConfigApplicationContext 5.1 registerBean 5.1.1 clas ...

  9. SpringBoot 注解方式快速整合Mybatis

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:yizhiwazi www.jianshu.com/p/82 ...

最新文章

  1. BZOJ 2456: mode 水题
  2. Python多线程技术增加网站帖子的查看量
  3. 【若依(ruoyi)】打开新的选项卡
  4. java是解释型编程语言_程序设计语言可以分为两类:编译型语言和解释型语言...
  5. php 网格,PHP中的数据网格
  6. P3312 [SDOI2014]数表(离线 + 树状数组前缀和优化)
  7. Android 学习Kotlin吗?
  8. 永远不要放弃你所爱的人
  9. 广告CTR预估中用户行为学习和记忆建模
  10. python切片长度_python的间隔切片技巧
  11. Angularjs中设置cookies的过期时间
  12. 摩拜开锁系统是用什么服务器,摩拜昨晨现“开锁难” 市民:系统需更稳定
  13. python查看指定文件的绝对路径和当前工作路径
  14. 如何查看我的订单-REST的流程API设计案例
  15. python填充nan_Python Pandas Dataframe填充NaN值
  16. 机器学习之手写数字图片数据处理及识别
  17. java安全体系:JCA、JCE、JSSE、JAAS
  18. 打造卓越的 Android 游戏体验
  19. 在职非全日制计算机考研上岸心得分享
  20. go内存分析工具介绍--pprof

热门文章

  1. InterlockedIncrement函数详解
  2. EOS (3)系统特点
  3. 区块链预言机(4)内在机制
  4. [力扣leetcode319]灯泡问题
  5. 491. 递增子序列(回溯算法)
  6. leetcode刷题练习
  7. [GKCTF 2021]Random
  8. bl 和 ldr跳转程序的区别
  9. KTHREAD 结构体属性介绍
  10. 2020-11-23(dll注入方法)