真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Spring怎么搭建web服務(wù)器-創(chuàng)新互聯(lián)

I、springboot基本概念

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、國際域名空間、虛擬主機(jī)、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

1.受管Bean

Spring中那些組成應(yīng)用的主體以及由Spring IoC容器所管理的對象被稱之為bean;

Bean就是由Spring容器初始化、裝配以及被管理的對象

2.控制反轉(zhuǎn)IOC和依賴注入DI

IoC實(shí)現(xiàn)由容器控制程序之間的關(guān)系,而非傳統(tǒng)實(shí)現(xiàn)中,由程序代碼直接操控,控制權(quán)由應(yīng)用代碼中轉(zhuǎn)到了外部容器,控制權(quán)的轉(zhuǎn)移,是所謂控制反轉(zhuǎn);

創(chuàng)建被調(diào)用者實(shí)例的工作通常由Spring容器來完成,然后注入調(diào)用者,因此也稱為依賴注入

依賴注入:接口注入、設(shè)置注入、構(gòu)造器注入

3.AOP面向切面編程

AOP即Aspect-Oriented Programming, 面向切面編程是一種新的方法論,是一種技術(shù),不是設(shè)計(jì)模式,是對傳統(tǒng)OOP(Object-Oriented Programming,面向?qū)ο缶幊?的補(bǔ)充

AOP 的主要編程對象是切面(aspect), 而切面模塊化橫切關(guān)注點(diǎn)

II、搭建簡單的web服務(wù)器(SSH)

1.添加jar包

整合maven,在pom.xml中添加

        
		
			org.springframework
			spring-jdbc
			${spring.version}
		
		
			org.springframework
			spring-context-support
			${spring.version}
		
		
			com.oracle
			ojdbc6
			1.5
			system
			${project.basedir}/src/main/webapp/WEB-INF/lib/ojdbc6.jar
		
	

2.整合Spring和web應(yīng)用(在web.xml中添加)

        
		contextConfigLocation
		classpath:app*.xml
	
	
		org.springframework.web.context.ContextLoaderListener
	

3.整合struts2(在web.xml中添加)

        
		struts2
		org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
		
			struts.devMode
			true
		
	
	
		struts2
		/*
	

4.整合Hibernate

a.添加database.properties文件

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8

jdbc.username=root

jdbc.password=root

b.配置連接池(在applicationContext.xml中添加)

        
		

        c.配置SessionFactory(在applicationContext.xml中添加)

        
			
				
					org.hibernate.dialect.MySQL5InnoDBDialect
					true
					true
					update
					org.springframework.orm.hibernate5.SpringSessionContext
					(重點(diǎn):使getCurrentSession不為null)
				
				

        d.配置事務(wù)管理SessionFactory(在applicationContext.xml中添加)

        配置注解事務(wù)有效
		

5.定義帶注解的實(shí)體類

在src/com/wcg/entity包下添加實(shí)體類

        @Entity(name = "t_roles") //聲明實(shí)體類,name是對應(yīng)的表名稱
	@Cache(usage=CacheConcurrencyStrategy.READ_ONLY) //配置二級緩存的并發(fā)訪問策略,read_only/read_write  NONSTRICT_READ_WRITE  TRANSACTIONAL
	public class RoleBean implements Serializable {
		private static final long serialVersionUID = -7132291370667604346L;
		@Id	//聲明主鍵
		@GeneratedValue(strategy = GenerationType.IDENTITY)
		private Long id;
		@Column(length = 32, unique = true, nullable = false)//定義類說明,length字串長度unique唯一性約束,nullable非空約束
		private String name;
		@Basic(fetch = FetchType.LAZY)//針對屬性的加載策略,需要支持
		@Column(length = 200)
		private String descn;
		@OneToMany(mappedBy = "role", cascade = CascadeType.ALL)//說明一對多關(guān)聯(lián),mapedby表示由對方負(fù)責(zé)維護(hù)兩者之間的關(guān)聯(lián)關(guān)系,cascade級聯(lián)策略
		private Set users = new HashSet<>();	

6.定義DAO接口--IBaseDao

在src/com/wcg/dao包下添加DAO接口

        public interface IBaseDao {
		T save(T record);
		T delete(T record);
		T load(ID id);
		T update(T record);
		List selectByExample(T record, int... pages);
		int selectByExampleRowsNum(T record);	//查詢滿足條件的一共有多少行
	}
	//--------------------------
	public interface IRoleDao extends IBaseDao {

	}
	//--------------------------
	public class BaseDaoImpl implements IBaseDao {
	@Autowired
	private SessionFactory sessionFactory;
	private Class recordClass;
	
	@SuppressWarnings("unchecked")
	public BaseDaoImpl() {
		this.recordClass = (Class) (((ParameterizedType) getClass().getGenericSuperclass())
				.getActualTypeArguments()[0]);
	}
	
	protected Session getSession() {
		return sessionFactory.getCurrentSession();
	}
	
	@Override
	public T save(T record) {
		this.getSession().save(record);
		return record;
	}

	@Override
	public T delete(T record) {
		this.getSession().delete(record);
		return record;
	}

	@Override
	public T load(ID id) {
		return this.getSession().get(recordClass, id); 
	}

	@Override
	public T update(T record) {
		this.getSession().update(record);
		return record;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List selectByExample(T record, int... pages) {
		Criteria criteria = this.getSession().createCriteria(recordClass);
		if(record != null)
			criteria.add(Example.create(record));
		if(pages != null && pages.length > 0)
			criteria.setFirstResult(pages[0]);
		if(pages != null && pages.length > 1)
			criteria.setMaxResults(pages[1]);
		return criteria.list();
	}
	//--------------------------
	@Repository("roleDao")//聲明DAO類型的受管bean,其中的value就是名稱,類似于的id
	public class RoleDaoImpl extends BaseDaoImpl implements IRoleDao {

	}

7.定義業(yè)務(wù)

在src/com/wcg/biz包下添加Server接口

        public interface IRoleServ {
		void create(RoleBean role);
	}
	//--------------------------
	@Service  //定義業(yè)務(wù)類型的受管bean,如果不定義名稱,則默認(rèn)名稱就是類名稱,首字母小寫
	@Transactional(readOnly = true, propagation = Propagation.SUPPORTS) //聲明事務(wù),readOnly只讀事務(wù)propagation事務(wù)傳播特性
	public class RoleServImpl implements IRoleServ {
		@Resource(name = "roleDao")
		private IRoleDao roleDao;

		@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
		public void create(RoleBean role) {
			roleDao.save(role);
		}

8.定義Action

在src/com/wcg/action包下添加action類

        @Controller  //定義控制器類型的受管bean
	@Scope("prototype") //定義scope=prototype以保證Action的多實(shí)例
	@Namespace("/")  //Struts2的注解,表示名空間
	@ParentPackage("struts-default") //Struts2的注解,定義繼承的包名稱
	public class UserAction extends ActionSupport implements ModelDriven, SessionAware {
		private UserBean user = new UserBean();
		private Map sessionAttribute;

		@Autowired
		private IUserServ userv;

		@Action(value = "tologin", results = { @Result(name = "success", location = "/WEB-INF/content/user/login.jsp") })
		public String toLogin() throws Exception {
			return SUCCESS;
		}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站題目:Spring怎么搭建web服務(wù)器-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://weahome.cn/article/djhjpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部