Java 系列之spring学习--注解(三)
一、注解
使用注解之前要开启自动扫描功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?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层代码
1 2 3 4 5 6 7 | package SpringAnnotationDal; public interface SpringAnnotationDal { public abstract void add(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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层代码
1 2 3 4 5 6 7 | package SpringAnnotationBll; public interface SpringAnnotationBll { public abstract void add(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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、调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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(); } } |
五、结果
本文作者:WangJunZzz
本文链接:https://www.cnblogs.com/WangJunZzz/p/8303946.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义