博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringIOC_04 注解
阅读量:3967 次
发布时间:2019-05-24

本文共 3799 字,大约阅读时间需要 12 分钟。


本人是个新手,写下博客用于自我复习、自我总结。

如有错误之处,请各位大佬指出。
学习资料来源于:尚硅谷


applicationContext.xml:

BookDao.java:

import org.springframework.stereotype.Repository;/** * id默认就是类名首字母小写,也可以改:@Repository("name") * 作用域默认就是单例的,也可以改:@Scope(value="prototype")变成多实例 *  * 属性的自动注入 * @Autowired:Spring会自动的为这个属性赋值,且不用担心空指针异常。 * 				它一定会去容器中找到这个属性的组件。 * */@Repositorypublic class BookDao {
public void saveBook(){
System.out.println("图书已经保存..."); }}

BookService.java:

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.guigu.dao.BookDao;/** * id默认就是类名首字母小写,也可以改:@Service("name") * 作用域默认就是单例的,也可以改:@Scope(value="prototype")变成多实例 *  * 属性的自动注入 * @Autowired:Spring会自动的为这个属性赋值,且不用担心空指针异常。 * 				它一定会去容器中找到这个属性的组件。 * */@Servicepublic class BookService {
//自动装配:自动的为这个属性赋值 @Autowired(required=false) private BookDao bookDao; public void save(){
System.out.println("bookService>..正在调用dao帮你保存图书..."); bookDao.saveBook(); }}

BookServiceExt.java:

import org.springframework.beans.factory.annotation.Autowired;import com.guigu.dao.BookDao;public class BookServiceExt extends BookService{
@Autowired private BookDao bookDao; @Override public void save(){
System.out.println("bookServiceExt>..正在调用dao帮你保存图书..."); bookDao.saveBook(); }}

BookService.java:

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Controller;import com.guigu.dao.BookDao;import com.guigu.service.BookService;import com.guigu.service.BookServiceExt;/** * id默认就是类名首字母小写,也可以改:@Controller("name") * 作用域默认就是单例的,也可以改:@Scope(value="prototype")变成多实例 *  * 属性的自动注入 * @Autowired:Spring会自动的为这个属性赋值,且不用担心空指针异常。 * 				它一定会去容器中找到这个属性的组件。 * */@Controllerpublic class BookServlet {
//自动装配:自动的为这个属性赋值 //@Qualifier:指定一个名作为id,让spring别使用变量名作为id @Qualifier("bookService") @Autowired(required=false) private BookService bookServiceExt2; public void doGet(){
bookServiceExt2.save(); } /** * 如果方法上有@Autowired的话, * 1)这个方法也会在bean创建的时候自动运行 * 2)这个方法上的每一个参数都会自动注入值 * */ @Autowired(required=false) public void hahaha(BookDao bookDao,@Qualifier("bookService")BookService bookService){
System.out.println("Spring运行了这个方法..."+bookDao+"=>"+bookService); }}

IOCTest.java:

import static org.junit.Assert.*;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.guigu.servlet.BookServlet;/** * 使用Spring的单元测试, * 1)导包,Spring的单元测试包spring-test-4.0.0.RELEASE.jar * 2)@ContextConfiguration(locations="")使用它来指定Spring的配置文件的位置 * 3)@RunWith()指定用哪种驱动进行单元测试,默认就是junit * 	@RunWith(SpringJUnit4ClassRunner.class) *  使用Spring的单元测试模块来执行标了@Test注解的测试方法。 * */@ContextConfiguration(locations="classpath:applicationContext.xml")@RunWith(SpringJUnit4ClassRunner.class)public class IOCTest {
//ApplicationContext ioc=new ClassPathXmlApplicationContext("applicationContext.xml"); ApplicationContext ioc=null; @Autowired BookServlet bookServlet; @Test public void test03(){
System.out.println(bookServlet); } /** * 使用注解加入到容器中的组件,和使用配置加入到容器中的组件行为都是默认一样的 * 1、组件的id,默认是组件的类名首字母小写 * 2、组件的作用域,默认就是单例的 * */ @Test public void test01() {
Object bean=ioc.getBean("bookDao"); Object bean2=ioc.getBean("bookDao"); System.out.println(bean==bean2); } @Test public void test02(){
BookServlet bookServlet=ioc.getBean(BookServlet.class); bookServlet.doGet(); }}

转载地址:http://hxyki.baihongyu.com/

你可能感兴趣的文章
数据类型之列表与数组
查看>>
比较字符串
查看>>
Java EE 精萃
查看>>
Open Source 精萃
查看>>
Java EE 简介
查看>>
Weblogic 简介
查看>>
观察者模式 (Observer)
查看>>
Java 集合框架
查看>>
Weblogic 精萃
查看>>
Servlet 精萃
查看>>
XStream 精萃
查看>>
XStream 环境设置
查看>>
Git 分支
查看>>
Git 冲突
查看>>
Git Merging vs. Rebasing
查看>>
[第9课] 箱线图
查看>>
[第10课] 箱线图2
查看>>
[第11课]统计:集中趋势
查看>>
[第12课] 统计:样本和总体
查看>>
[第13课] 统计:总体方差
查看>>