Java 系列之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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
">
<context:component-scan base-package="SpringAnnotationBll,SpringAnnotationDal" />
</beans>
二、结构代码

三、常用注解
@Service用于标注业务层组件、
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件。
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope用于指定scope作用域的(用在类上)
四、实例
4.1、dao层代码
package SpringAnnotationDal;
public interface SpringAnnotationDal {
public abstract void add();
}
package SpringAnnotationDal;
import org.springframework.stereotype.Repository;
@Repository
public class SpringAnnotationDalBean implements SpringAnnotationDal {
/* (non-Javadoc)
* @see SpringAnnotationDal.SpringAnnotationDal#add()
*/
public void add()
{
System.out.print("add...");
}
}
4.2、service层代码
package SpringAnnotationBll;
public interface SpringAnnotationBll {
public abstract void add();
}
package SpringAnnotationBll;
import org.springframework.stereotype.Service;
import SpringAnnotationDal.SpringAnnotationDal;
@Service
public class SpringAnnotaionBllBean implements SpringAnnotationBll {
private SpringAnnotationDal springAnnotationDal;
public SpringAnnotationDal getSpringAnnotationDal() {
return springAnnotationDal;
}
public void setSpringAnnotationDal(SpringAnnotationDal springAnnotationDal) {
this.springAnnotationDal = springAnnotationDal;
}
public void add()
{
System.out.print("add...");
}
}
4.3、调用
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import SpringAnnotationBll.SpringAnnotationBll;
import spring.testServiceBean;
public class cservlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
SpringAnnotationBll services=(SpringAnnotationBll)context.getBean("springAnnotaionBllBean");
services.add();
}
}
五、结果


浙公网安备 33010602011771号