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();
	}

} 

五、结果

 

原文地址:https://www.cnblogs.com/WJ--NET/p/8303946.html

时间: 2024-10-13 06:45:38

Java 系列之spring学习--注解(三)的相关文章

Java 系列之spring学习--springmvc注解方式(五)

一.springmvc注解方式 注解方式使用的更多,更加灵活.在上一篇的博客的基础上修改springmvc-servlet.xml配置文件. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchem

Java 系列之spring学习--springmvc注解参数传递(六)

一.绑定参数注解如下 @RequestParam     绑定单个请求数据,既可以是URL中的参数,也可以是表单提交的参数或上传的文件. 它有三个属性:  value    用于设置参数名. defaultValue    用于对参数设置默认值.         required    用于设置是否必需值,默认为true.为true时,如果参数为空,会报错. @PathVariable    绑定URL中的参数值 它只有一个属性值value 访问地址:http://localhost:8080/

Java 系列之spring学习--spring搭建(一)

一.新建maven项目 二.引入spring jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd

Spring系列之Spring常用注解总结

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密

Spring框架系列(七)--Spring常用注解

Spring部分: 1.声明bean的注解: @Component:组件,没有明确的角色 @Service:在业务逻辑层使用(service层) @Repository:在数据访问层使用(dao层) @Controller:在展现层使用,控制器的声明(Controller) 2.注入bean的注解: @Autowired:由Spring提供,按类型注入,如果一个接口有多个实现,需要和@Qualifier配合使用 @Inject:由JSR-330提供 @Resource:由JSR-250提供,按名

Spring学习总结三——SpringIOC容器三

一:spring容器自动装配注入 为了减少xml中配置内容,可以使用自动装配注入,代替setter注入,只需要在 bean对象配置中添加属性autoWire即可,那么在类中就会自动扫描setXXX(),实现自动装配注入. autowire的装配方式分为以下几种: 示例如下: 1:创建UserService类 1 /** 2 * 3 */ 4 package com.hlcui.service; 5 6 import com.hlcui.dao.impl.OracleUserDAO; 7 impo

java网络爬虫基础学习(三)

尝试直接请求URL获取资源 豆瓣电影 https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort=time&page_limit=20&page_start=0 浏览器打开该地址: 发现是这样的 在这里我们需要用java抓取电影的信息,首先要找到资源链接,浏览器右键->检查打开谷歌调试工具 我们可以看到下图 有很多的资源请求,在这里我是一个个搜索,看那个是电影信息的Headers 发

Spring学习(三)Spring Bean装配(常用注解)

注册与管理Bean=======================================·从 Spring3.0开始, Spring Java Config项目提供了很多特性包括使用ava而不是XML定义bean,比如 @ Configuration, @Bean, @Import, @Dependson·@ Componenti是一个通用注解,可用于任何bean·@ Repository,@ Service,@ Controller是更有针对性的注解 [email protected]

Spring学习(三)ioc工厂bean深入理解

一.ioc工厂配置的bean分类: 划分依据: getBean("xx") 调用某个bean对象返回的对象实例类型是否是class属性指向的类型 1.普通bean getBean("xxx") == class 属性 2.工厂bean getBean("xxx") != class属性 (class属性中指向的是一个工厂类,调用这个bean对象,想要的并不是class属性指向的工厂 ,而是该工厂负责创建的实例对象.) 二.工厂bean的必要性: