杀人放火厉飞羽,万人敬仰韩天尊。|

WangJunZzz

园龄:9年3个月粉丝:99关注:13

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 中国大陆许可协议进行许可。

posted @   WangJunZzz  阅读(186)  评论(0编辑  收藏  举报
编辑推荐:
· .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 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起