经过注解模式 装载Bean 和 Spring Boot一些注解

Mybatis 在配置Mybatis 的datasource 和sessionFactoryjava

org.springframework.jdbc.datasource.DriverManagerDataSourcegit

org.mybatis.spring.SqlSessionFactoryBeangithub

以后要使用接口调用xml里的sql语句 还需申明 Mybatis的Mapper扫描包以及 sessionfactoryspring

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 扫描本包下面的MapperDao(接口)托管给Spring IOC -->
		<property name="basePackage" value="com.zx.Dao"></property>
		<property name="sqlSessionFactoryBeanName" value="sessionFactory"></property>
	</bean>

这样 就能够直接经过@Autowired 将对应的Mapper接口租入使用sql

附上几个注解的解释 和用法session

@Repository注解:用于标注数据访问组件,即DAO组件
@Service注解:用于标注业务层组件
@Controller注解:用于标注控制层组件(如struts中的action)
@Component注解:泛指组件,当组件很差归类的时候,咱们能够使用这个注解进行标注。

@Controllermybatis

@Controller("Bean的名称")app

定义控制层Bean,如Actionui

 

@Service          .net

@Service("Bean的名称")

定义业务层Bean

 

@Repository   

@Repository("Bean的名称")

定义DAO层Bean

 

@Component  

定义Bean, 很差归类时使用.

 

--自动装配Bean (选用一种注解就能够)

@Autowired  (Srping提供的)

默认按类型匹配,自动装配(Srping提供的),能够写在成员属性上,或写在setter方法上

 

@Autowired(required=true)  

必定要找到匹配的Bean,不然抛异常。 默认值就是true 

 

@Autowired

@Qualifier("bean的名字") 

按名称装配Bean,与@Autowired组合使用,解决按类型匹配找到多个Bean问题。

 

@Resource   JSR-250提供的

默认按名称装配,当找不到名称匹配的bean再按类型装配.

能够写在成员属性上,或写在setter方法上

能够经过@Resource(name="beanName") 指定被注入的bean的名称, 要是未指定name属性, 默认使用成员属性的变量名,通常不用写name属性.

@Resource(name="beanName")指定了name属性,按名称注入但没找到bean, 就不会再按类型装配了.

 

@Inject   是JSR-330提供的

按类型装配,功能比@Autowired少,没有使用的必要。

 

--定义Bean的做用域和生命过程

@Scope("prototype")

值有:singleton,prototype,session,request,session,globalSession

 

@PostConstruct 

至关于init-method,使用在方法上,当Bean初始化时执行。

 

@PreDestroy 

至关于destory-method,使用在方法上,当Bean销毁时执行。

 

--声明式事务

@Transactional  

 

关于Spring Boot 经过注解注册托管Bean的时候 他默认扫描的是入口类Application.class的同包下的类

若是Application类所在的包为:io.github.gefangshuai.app,则只会扫描io.github.gefangshuai.app包及其全部子包,若是service或dao所在包不在io.github.gefangshuai.app及其子包下,则不会被扫描!

也就是不会注册成为Bean经过自动注入注解注入的时候就会出错

这个时候 咱们须要用

@ComponentScan(basePackages={"com.zx"})

手动设置扫描的包 而后就会找到该包下面全部申明为Bean的类 进入IOC托管

相关文章
相关标签/搜索